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

时间:2015-04-30 21:26:47

标签: python selenium selenium-webdriver selenium-chromedriver selenium-server

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

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

3 个答案:

答案 0 :(得分:0)

您已安装并配置了适用于Firefox的Selenium驱动程序,但不适用于Chrome。安装和配置boils(source):

  

<强>设置

     

ChromeDriver是WebDriver用来控制的独立可执行文件   铬。它由Chromium团队在WebDriver的帮助下维护   贡献者。如果您不熟悉WebDriver,则应该检查   出自己的Getting Started page

     

按照以下步骤设置运行ChromeDriver的测试:

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

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

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

答案 1 :(得分:0)

下载Chromedriver

&#13;
&#13;
from selenium import webdriver

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

答案 2 :(得分:0)

代码适用于JAVA,在python

中设置路径类似

如果未在环境变量中设置PATH,则按以下方式以编程方式设置:

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