リモートWebドライバーを介してhtmlunitを使用して、Pythonスクリプトからセレンを含むページを取得すると、次のエラーが発生します。
WebDriverException: メッセージ: u'TypeError: 関数 addEventListener がオブジェクト [オブジェクト HTMLDocument] に見つかりません。( https://xxx.xxx.com/static/js/jquery-2.0.3.min.js#4 )
したがって、この例外を回避するために、Webドライバーを初期化するときにjavascriptを無効にしようとしましたが、うまくいきません...
私はwebdriver.DesiredCapabilities.HTMLUNIT(vs 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'}
だからここにいます。誰かが何か考えがあれば... :)