0

我有一个 python webdriver 脚本,它使用 firefox 在远程服务器上成功运行了测试,但是在使用 chrome 和 internet explorer 时它会引发错误。

我已将包含两个驱动程序的目录添加到服务器的路径中。我还尝试使用以下方法启动服务器: java -jar .\selenium-server-standalone-2.45.0.jar -Dwebdriver.ie.driver=.\IEDriverServer.exe -role hub

我一直在 powershell 中遇到同样的错误:

“... - 例外:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置;...”

工作脚本:

def setUp(self):
    self.wd = webdriver.Remote(
        desired_capabilities=DesiredCapabilities.FIREFOX)

引发错误:

def setUp(self):
    self.wd = webdriver.Remote(
        desired_capabilities=DesiredCapabilities.CHROME)

这个问题的罪魁祸首是什么?

4

3 回答 3

0

您已安装并配置了用于 Firefox 的 Selenium 驱动程序,但没有用于 Chrome。安装和配置归结为这一点(来源):

设置

ChromeDriver 是 WebDriver 用来控制 Chrome 的单独的可执行文件。它由 Chromium 团队在 WebDriver 贡献者的帮助下维护。如果你不熟悉 WebDriver,你应该查看他们自己的Getting Started 页面

请按照以下步骤设置测试以使用 ChromeDriver 运行:

  • 确保 Chromium/Google Chrome 安装在可识别的位置 ChromeDriver 希望您将 Chrome 安装在平台的默认位置。您还可以通过设置特殊功能来强制 ChromeDriver 使用自定义位置。
  • 在本网站的下载部分下载适用于您平台的 ChromeDriver 二进制文件
  • 帮助 WebDriver 找到下载的 ChromeDriver 可执行文件 任何这些步骤都可以解决问题:
    • 在 PATH 环境变量中包含 ChromeDriver 位置
    • (仅限 Java)通过 webdriver.chrome.driver 系统属性指定其位置(参见下面的示例)
    • (仅限 Python)在实例化 webdriver.Chrome 时包含 ChromeDriver 的路径(参见下面的示例)

因此,基本上,您需要在 中设置 Chrome 驱动器的路径PATH,或者像这样实例化驱动器:

driver = webdriver.Chrome('/path/to/chromedriver')
于 2015-04-30T21:42:50.370 回答
0

该代码是针对 JAVA 的,在 python 中类似地设置路径

如果 PATH 未在您的环境变量中设置,则以编程方式设置它,如下所示:

System.setProperty("webdriver.chrome.driver", "Path_to_your_chromedriver.exe");
driver = new ChromeDriver();
于 2015-05-01T08:59:17.307 回答
0

下载Chrome 驱动程序

from selenium import webdriver

driver = webdriver.Chrome('C:\\Users\\xxx\\Downloads\\chromedriver_win32\\chromedriver.exe')
driver.get("http://www.seleniumhq.org/")

于 2015-05-01T07:58:12.950 回答