尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

如何从源码构建并运行 Selenium Manager(Cargo、Bazel 与 Windows ARM64 处理)

如何从源码构建并运行 Selenium Manager(Cargo、Bazel 与 Windows ARM64 处理) 如何从源码构建并运行 Selenium ManagerCargo、Bazel 与 Windows ARM64 处理【免费下载链接】seleniumA browser automation framework and ecosystem.项目地址: https://gitcode.com/GitHub_Trending/se/seleniumSelenium Manager 是 Selenium 生态中用 Rust 实现的命令行工具负责自动管理 Selenium 所需的浏览器与 driver 资源。当你需要按最新源码构建并本地运行它例如验证功能、调试或在自己的环境里替换预编译版本时需要完成三件事安装构建工具链Rust/Cargo 或 Bazel、在仓库顶层执行构建目标、以及处理 Windows ARM64 平台的构建问题。本文基于仓库中 rust/README.md、rust/Cargo.aarch64-pc-windows-msvc.toml 和 rust/TESTING.md 给出可直接执行的步骤。准备条件先克隆 Selenium 仓库并进入其顶层目录——也就是包含WORKSPACE文件的那个目录后续 Bazel 命令要求从该目录执行。两条构建路径的依赖要求不同Cargo 路径需要安装 Rust 和 Cargo。在 Linux 和 macOS 上文档给出的安装方式是curl https://sh.rustup.rs -sSf | shBazel 路径需要 Bazel。仓库说明中推荐使用 Bazelisk一个 Bazel 封装器会自动下载.bazelversion文件中指定的 Bazel 版本并透传所有参数。两条路径只需要选一条Cargo 路径最轻量Bazel 路径与仓库其余部分的构建方式保持一致。路径一用 Cargo 构建并运行在rust/目录下即Cargo.toml所在目录直接通过cargo run执行。文档给出的示例命令$ cargo run -- --help这是文档中给出的运行方式示例用于确认工具可执行并查看帮助输出。以管理 chromedriver 为例实际运行命令是$ cargo run -- --browser chrome其中--之后的参数都传给 Selenium Manager 本身而不是 Cargo。路径二用 Bazel 构建并运行从 Selenium 仓库顶层目录执行构建bazel build //rust:selenium-manager对应的rust_binary目标定义在 rust/BUILD.bazel 中源文件入口为rust/src/main.rs。构建完成后可以直接用bazel run一步完成构建加执行。文档给出的完整示例含--debug参数bazel run //rust:selenium-manager -- --browser chrome --debug如果只需要验证代码能否通过 Bazel 编译rust/AGENTS.md 中给出的常用构建命令范围更广bazel build //rust/...构建后如何验证文档中没有给出固定的输出文本作为成功标准验证以命令能否正常执行、参数是否被工具接受为准cargo run -- --help/bazel run //rust:selenium-manager -- --help能输出帮助信息说明构建与 CLI 解析都正常--browser chrome等参数命令按文档示例执行用于触发 driver 管理逻辑。如需运行仓库自带的测试rust/TESTING.md 给出的是bazel test //rust/...并推荐两个 flag--test_envRUST_BACKTRACEfull查看完整错误和--test_envRUST_TEST_NOCAPTURE1显示测试输出。Windows ARM64 构建问题的处理文档明确说明在 Windows ARM64 上直接构建会遇到问题。解决方法是构建时给 cargo 加上配置文件的--config参数cargo --config Cargo.aarch64-pc-windows-msvc.toml build该配置文件 rust/Cargo.aarch64-pc-windows-msvc.toml 的作用是通过[patch.crates-io]把ring依赖替换为上游briansmith/ring仓库 issue #1167 相关的一个 forkawakecoding/ring的0.16.20_alpha分支从而绕开 Windows ARM64 上的 ring 编译问题。文件头部的注释即给出用法示例# cargo --config Cargo.aarch64-pc-windows-msvc.toml build这个 workaround 只影响 Windows ARM64 的构建其他平台按上面 Cargo 或 Bazel 的常规路径执行即可不需要引入该配置文件。已知限制Windows ARM64 上必须走上述--configworkaround常规cargo build/cargo run不适用。rust/BUILD.bazel中的注释指出在 Windows 上本地 Bazel 构建存在问题//common:windows平台会回退到下载预编译的 selenium-manager 目标因此 Windows 用户建议优先使用 Cargo 路径。若使用 Bazel请确保在包含WORKSPACE文件的仓库顶层目录执行命令目标名为//rust:selenium-manager。完成构建并跑通--help后就可以按 rust/README.md 中的用法继续用--browser 名称等参数管理浏览器和 driver 了。【免费下载链接】seleniumA browser automation framework and ecosystem.项目地址: https://gitcode.com/GitHub_Trending/se/selenium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表