繁体   English   中英

尝试使用Chrome或Internet Explorer运行测试时,Selenium服务器引发错误

[英]Selenium server throws error when attempting to run test with chrome or Internet Explorer

我有一个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)

这个问题的根源是什么?

您已安装和配置了用于Firefox的Selenium驱动程序,但没有安装和配置用于Chrome的Selenium驱动程序。 安装和配置可归结为以下内容( ):

设定

ChromeDriver是WebDriver用于控制Chrome的独立可执行文件。 Chromium团队在WebDriver贡献者的帮助下对其进行了维护。 如果您不熟悉WebDriver,则应查看他们自己的“ 入门”页面

请按照以下步骤设置测试以与ChromeDriver一起运行:

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

因此,基本上,您需要在PATH设置Chrome驱动器的PATH ,或实例化驱动器,如下所示:

driver = webdriver.Chrome('/path/to/chromedriver')

下载Chromedriver

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

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

如果未在环境变量中设置PATH,则可以通过以下方式进行编程设置:

System.setProperty("webdriver.chrome.driver", "Path_to_your_chromedriver.exe");
driver = new ChromeDriver();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM