尝试使用IE运行Selenium Webdriver测试时,浏览器将启动,但会立即崩溃,错误为“IE驱动程序的命令行服务器已停止工作”。
以下是Python报告的内容:
Traceback (most recent call last):
File "tc_131.py", line 34, in <module>
driver.set_page_load_timeout(30)
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 814, in set_page_load_timeout
'pageLoad': int(float(time_to_wait) * 1000)})
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 306, in execute
response = self.command_executor.execute(driver_command, params)
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 464, in execute
return self._request(command_info[0], url, body=data)
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 526, in _request
resp = opener.open(request, timeout=self._timeout)
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 526, in open
response = self._open(req, data)
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 544, in _open
'_open', req)
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 504, in _call_chain
result = func(*args)
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 1346, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 1321, in do_open
r = h.getresponse()
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1331, in getresponse
response.begin()
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 297, in begin
version, status, reason = self._read_status()
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 258, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "C:\Users\brent\AppData\Local\Programs\Python\Python36-32\lib\socket.py", line 586, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
最简单的测试导致失败:
from selenium import webdriver
driver = webdriver.Ie()
driver.set_page_load_timeout(30)
driver.get('https://google.com')
driver.implicitly_wait(30)
我也有类似的问题,但我正在使用c#had read herehttps://github.com/SeleniumHQ/selenium/issues/6085这解决了我的问题你可能需要通读讨论
driver.FindElement(By.XPath("(//input[@id='Submit'])[2]")).Click();
我的理解是,在IE中,上面的语法不起作用,但你可能想用这个来代替
IWebElement submit = driver.FindElement(By.XPath("(//input[@id='Submit'])[2]"));
OpenQA.Selenium.Interactions.Actions buildersub = new OpenQA.Selenium.Interactions.Actions(driver);
OpenQA.Selenium.Interactions.Actions hoverClicksub = buildersub.MoveToElement(submit).MoveByOffset(5, 5).Click();
hoverClicksub.Build().Perform();
我昨天也有类似的问题:
起初,我尝试使用64位IEDriverServer运行。exe版本3.9.0.0,并且还具有ConnectionResetError:[WinError 10054]
然后我从这里下载32位IEDriverServer 3.9https://www.seleniumhq.org/download/
我的脚本现在正在工作,IE运行良好(即使没有设置executable_path(添加到PATH)和睡眠时间):
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
#driver = webdriver.Ie(executable_path="C:\\webdrivers\\IEDriverServer.exe")
driver = webdriver.Ie()
#driver.set_script_timeout(5.0)
#time.sleep(3)
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
time.sleep(5)
driver.close()
也许,您需要将IEDriverServer的版本更新到3.9,而我的python版本更高,为3.6.5
此外,我还添加了两个寄存器键(用于32位和64位路径),如安装指令中所述:https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-配置
我希望这将有助于。。。
目前是否已知 Google 云端硬盘 API 示例命令行应用(云端硬盘命令行)可以正常工作?我已经下载了 Java 客户机库,并编译了示例应用程序(插入通过指定“已安装的应用程序”和“其他”创建的应用程序的客户机标识和密钥)。它运行并通知我在浏览器中访问以下链接: https://accounts.google.com/o/oauth2/auth?access_type=online (显然我的实
问题内容: 我之前已经做过,但是似乎大脑停滞了,谷歌没有帮助 我有带有eclipse的Javaselenium2 Web驱动程序,我只想从命令行运行脚本(类,java)。 问题答案: 设置类路径,编译代码,然后运行代码。沿线的东西, 我建议您考虑使用Ant来构建代码,而不是像上面那样。
问题内容: 今天,自动安装了最新版本的chrome浏览器,该版本现在为54.0.2840.71 m(64位)。我无法使用最新版本的Chrome驱动程序2.24和任何版本的Selenium来驱动浏览器。帮我解决这个问题..? 问题答案: 嗨,我已经解决了这个问题。Chrome 54或更低版本与Chrome驱动程序2.24兼容,而54或更高版本的Chrome需要Chrome驱动程序2.27。
最近我换了电脑,从那以后我不能用硒启动chrome。我也尝试过Firefox,但浏览器实例就是无法启动。 我得到以下错误: 我安装了最新的chrome版本和chrome驱动程序 编辑:尝试@b0sss解决方案后,我收到以下错误。
堆栈跟踪如下: 结果StackTrace:在OpenQa.Selenium.Remote.HttpCommandExecutor.MakeHttpRequest(HttpRequestInfo requestInfo)在OpenQa.Selenium.Remote.Remote.DriverServiceCommandExecutor.Execute(命令commandToExecute)在Ope
我正试图在eclipse中运行我的第一个webdriver脚本。使用jre1。8.0_1111. 我使用了下面的代码,但它显示了错误。请帮我查一下密码。 错误堆栈 线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver设置。壁虎。驱动系统属性;有关更多信息,请参阅github。com/mozilla/geckodr