将Htmlunit与selenium和python结合使用

2024-04-26 00:57:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的项目中使用Htmlunit,但是我找不到正确的方法来使用selenium和python。我从以下代码开始:

from selenium import webdriver
driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub',
                  desired_capabilities=webdriver.DesiredCapabilities.HTMLUNITWITHJS)
driver.get("https://stackoverflow.com/")
print(driver.page_source)

我也运行过SeleniumJava服务器,但我遇到了一些错误,程序运行不好,我不知道如何解决这个问题,我很感谢任何帮助。你知道吗

控制台中的错误行有:

Traceback (most recent call last):
  File "G:/python_projects/SeleniumHeadlessBrowser/main.py", line 24, in <module>
    desired_capabilities=webdriver.DesiredCapabilities.HTMLUNIT)
  File "G:\python_projects\SeleniumHeadlessBrowser\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "G:\python_projects\SeleniumHeadlessBrowser\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "G:\python_projects\SeleniumHeadlessBrowser\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "G:\python_projects\SeleniumHeadlessBrowser\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create session from {
  "desiredCapabilities": {
    "browserName": "htmlunit",
    "version": "",
    "platform": "ANY"
  },
  "capabilities": {
    "firstMatch": [
      {
        "browserName": "htmlunit"
      },
      {
        "browserName": "htmlunit",
        "platformName": "any"
      }
    ]
  }
}
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'HAMED-VAIO', ip: '192.168.1.103', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_92'
Driver info: driver.version: unknown
Stacktrace:
    at org.openqa.selenium.remote.server.NewSessionPipeline.lambda$null$4 (NewSessionPipeline.java:76)
    at java.util.Optional.orElseThrow (None:-1)
    at org.openqa.selenium.remote.server.NewSessionPipeline.lambda$createNewSession$5 (NewSessionPipeline.java:75)
    at java.util.Optional.orElseGet (None:-1)
    at org.openqa.selenium.remote.server.NewSessionPipeline.createNewSession (NewSessionPipeline.java:73)
    at org.openqa.selenium.remote.server.commandhandler.BeginSession.execute (BeginSession.java:65)
    at org.openqa.selenium.remote.server.WebDriverServlet.lambda$handle$0 (WebDriverServlet.java:235)
    at java.util.concurrent.Executors$RunnableAdapter.call (None:-1)
    at java.util.concurrent.FutureTask.run (None:-1)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (None:-1)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (None:-1)
    at java.lang.Thread.run (None:-1)

Tags: inpynoneremoteversionseleniumutilline