[英]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')
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.