我正在尝试将python脚本与带有htmlunit webdriver的独立硒远程服务器一起使用,以连接到路由器的Web界面。
java -cp "htmlunit-driver-2.35.1-jar-with-dependencies.jar;selenium-server-standalone-3.141.59.jar" org.openqa.grid.selenium.GridLauncherV3
Python
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=webdriver.DesiredCapabilities.HTMLUNITWITHJS)
driver.get("http://192.168.1.1/tool.lp")
source = driver.page_source
print(source)
driver.close()
不幸的是我得到了这些错误
回溯(最近通话最近): 在第8行的文件“ C:\ Python-test \ Selenium-test \ htmlUnit.py” driver.get(“ http://192.168.1.1/tool.lp”)
文件“ C:\ Program Files (x86)\ Python37-32 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py“, 输入333行 self.execute(Command.GET,{'url':url})
文件“ C:\ Program Files (x86)\ Python37-32 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py“, 第321行,在执行中 self.error_handler.check_response(response)
文件“ C:\ Program Files (x86)\ Python37-32 \ lib \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py”, 第242行,在check_response中 引发exception_class(消息,屏幕,堆栈跟踪)
selenium.common.exceptions.WebDriverException:消息:TypeError: 无法读取未定义的属性“文档”( http://192.168.1.1/tool.lp从(126,58)到(181,12)#127)
Stacktrace: 在net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError (ScriptRuntime.java:4334) 在net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError (ScriptRuntime.java:4312)...
Selenium独立服务器控制台
========例外开始========
EcmaError:lineNumber = [127]列= [0] lineSource = [] name = [TypeError] sourceName = [来自http://192.168.1.1/tool.lp中的脚本 (126,58)到(181,12)] message = [TypeError:无法读取属性 未定义的“文档”(来自http://192.168.1.1/tool.lp中的脚本 (126,58)至(181,12)#127)]
com.gargoylesoftware.htmlunit.ScriptException:TypeError:无法读取 未定义的属性“文档”(脚本中的 http://192.168.1.1/tool.lp从(126,58)到(181,12)#127)
如果我连接到类似google的其他网站,则可以正常工作。
编辑
我尝试与chrome连接,然后在控制台中看到页面有错误
未捕获的TypeError:无法读取未定义的属性'document'
在这一点上,我问您是否有一种方法可以解决硒错误并继续抓取页面
谢谢