You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 7下ChromeDriver、Chrome默认路径及Appium+Java启动相关技术问询

刚好对这块比较熟,给你详细拆解下这几个问题:

Windows 7下Appium + java-client.jar场景的默认路径

ChromeDriver二进制文件的默认位置

  • 如果你是用Appium Desktop安装包装的Appium,ChromeDriver默认藏在这里:C:\Program Files (x86)\Appium\node_modules\appium-chromedriver\chromedriver\win\chromedriver.exe
  • 要是通过npm全局安装的Appium,路径一般是:C:\Users\[你的用户名]\AppData\Roaming\npm\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\chromedriver.exe

Chrome二进制文件的默认位置

Windows 7上Chrome的标准安装路径分两种:

  • 32位系统:C:\Program Files\Google\Chrome\Application\chrome.exe
  • 64位系统:C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
    Appium会默认从这个路径找Chrome,除非你在DesiredCapabilities里通过chromeOptionsbinary参数指定了自定义路径。
RemoteWebDriver启动Chrome时ChromeDriver的查找逻辑

当你用RemoteWebDriver启动Chrome时,ChromeDriver的查找是有优先级顺序的:

  1. 代码指定的路径优先:如果你在代码里通过系统属性webdriver.chrome.driver或者ChromeOptions的参数指定了ChromeDriver路径,会直接用这个。比如:
    // 设置ChromeDriver路径
    System.setProperty("webdriver.chrome.driver", "D:\\tools\\chromedriver.exe");
    // 或者通过ChromeOptions指定Chrome二进制路径
    ChromeOptions options = new ChromeOptions();
    options.setBinary("D:\\apps\\chrome.exe");
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);
    
  2. 检查系统PATH环境变量:如果没手动指定,Selenium会去系统的PATH变量包含的目录里找chromedriver.exe,只要这个文件在PATH的目录里,就能被自动找到。
  3. Appium托管的ChromeDriver(当连接Appium服务器时):如果你的RemoteWebDriver是连接到Appium服务器的,那Appium会用它自己管理的ChromeDriver(就是前面说的Appium安装目录下的那个),除非你在DesiredCapabilities里用chromedriverExecutable参数指定了自定义的ChromeDriver路径。

从你给出的代码片段来看,目前没有配置Chrome相关的路径参数,这种情况下Appium会自动用上面说的默认路径去查找Chrome和ChromeDriver;如果是直接用RemoteWebDriver连接独立的ChromeDriver服务器,就会按PATH或者你后续补充的指定路径来查找。

内容的提问来源于stack exchange,提问作者Achu

火山引擎 最新活动