【发布时间】:2019-05-08 07:51:25
【问题描述】:
我正在尝试将 selenium 远程独立服务器与带有 python 脚本的 htmlUnit 驱动程序一起使用。
首先,我使用 htmlUnit 驱动程序启动独立服务器
java -cp htmlunit-driver-2.35.1-jar-with-dependencies.jar -jar selenium-server-standalone-3.141.0.jar
09:28:31.731 INFO [GridLauncherV3.parse] - Selenium 服务器版本:3.141.0,修订:2ecb7d9a 09:28:31.810 INFO [GridLauncherV3.lambda$buildLaunchers$3] - 在端口 4444 上启动一个独立的 Selenium 服务器 2019-05-08 09:28:31.857:INFO::main: 日志初始化 @317ms 到 org.seleniumhq.jetty9.util.log.StdErrLog 09:28:32.059 信息 [WebDriverServlet.] - 初始化 WebDriverServlet 09:28:32.543 INFO [SeleniumServer.boot] - Selenium 服务器已启动并在端口 4444 上运行
之后我尝试在我的 pyhton 脚本中使用 htmlunit 驱动程序
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.keys import Keys
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',desired_capabilities={'browserName': 'htmlunit', 'version': '2','javascriptEnabled': True})
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
但我收到此错误
selenium.common.exceptions.SessionNotCreatedException:消息:无法从 { “所需能力”:{ "browserName": "htmlunit", “javascriptEnabled”:是的, “版本”:“2” }, “能力”:{ “第一场比赛”:[ { “浏览器名称”:“htmlunit” }, { "browserName": "htmlunit", “浏览器版本”:“2” } ] } } 构建信息:版本:'3.141.0',修订:'2ecb7d9a',时间:'2018-10-31T20:22:52' 系统信息:主机:'DESKTOP-xxxx',ip:'xxx.xxx.xxx.xxx',os.name:'Windows 10',os.arch:'amd64',os.version:'10.0',java。版本:'1.8.0_212' 驱动程序信息:驱动程序版本:未知 堆栈跟踪: 在 org.openqa.selenium.remote.server.NewSessionPipeline.lambda$null$4 (NewSessionPipeline.java:76) 在 java.util.Optional.orElseThrow(无:-1) 在 org.openqa.selenium.remote.server.NewSessionPipeline.lambda$createNewSession$5 (NewSessionPipeline.java:75) 在 java.util.Optional.orElseGet(无:-1) 在 org.openqa.selenium.remote.server.NewSessionPipeline.createNewSession (NewSessionPipeline.java:73) 在 org.openqa.selenium.remote.server.commandhandler.BeginSession.execute (BeginSession.java:65) 在 org.openqa.selenium.remote.server.WebDriverServlet.lambda$handle$0 (WebDriverServlet.java:235) 在 java.util.concurrent.Executors$RunnableAdapter.call(无:-1) 在 java.util.concurrent.FutureTask.run (无:-1) 在 java.util.concurrent.ThreadPoolExecutor.runWorker (无:-1) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run (无:-1) 在 java.lang.Thread.run(无:-1)
我似乎正确地遵循了文档,但我不明白错误可能出在哪里。
您能告诉我如何解决这个问题吗?
谢谢
【问题讨论】: