从 python 脚本获取带有 selenium 的页面时,通过远程 webdriver 使用 htmlunit,我收到此错误:
WebDriverException:消息:u'TypeError:在对象 [object HTMLDocument] 中找不到函数 addEventListener。( https://xxx.xxx.com/static/js/jquery-2.0.3.min.js#4 )
因此,为了避免这个异常,我在初始化我的 webdriver 时尝试禁用 javascript,但我无法做到......
我尝试使用 webdriver.DesiredCapabilities.HTMLUNIT(与 HTMLUNITWITHJS)设置 desired_capabilities,但没有任何改变。所以我尝试手动定义功能,但没有帮助。
以下是我所做的一些示例,结果如下:
In [45]: driver = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.HTMLUNIT)
In [46]: driver.desired_capabilities
Out[46]:
{u'browserName': u'htmlunit',
u'cssSelectorsEnabled': True,
u'javascriptEnabled': True,
u'platform': u'LINUX',
u'version': None,
u'webdriver.remote.sessionid': u'3aa1c9c0-9d85-4e22-ad2b-1116950cf86d'}
In [47]: driver = webdriver.Remote(desired_capabilities={'browserName': 'htmlunit', 'javascriptEnabled': False, 'platform': 'ANY', 'version': ''})
In [48]: driver.desired_capabilities
Out[48]:
{u'browserName': u'htmlunit',
u'cssSelectorsEnabled': True,
u'javascriptEnabled': True,
u'platform': u'LINUX',
u'version': None,
u'webdriver.remote.sessionid': u'426aef71-2b7c-45c5-9313-c3dbbec07c7f'}
所以我在这里。如果有人有任何想法...... :)