【发布时间】:2017-12-10 09:57:42
【问题描述】:
我正在尝试使用 Python Selenium WebDriver (Chrome) 单击按钮。 按钮的 HTML:
<button type="button" class="button blue" onclick="openWIndow(LINK_HERE, 'idpage6')">Like</button>
(我不得不删除“LINK_HERE”,因为 StackOverflow 不允许 Google 网址缩短器)
现在,我不是菜鸟,我知道您如何单击按钮。问题是,当我.click() 时,按钮没有响应。 onClick 字段似乎是这个问题的根源。
我尝试了很多不同的解决方案,这里有两个:
css_selector = 'div.container > div > button'
# Attempt 1
browser.find_element_by_css_selector(css_selector )
# Attempt 2
js_script = ''.join(["var elem = document.querySelector('",
css_selector,
"');",
"if( document.createEvent) {",
"var evObj = document.createEvent('MouseEvents');",
"evObj.initEvent( 'mouseover', true, false );",
"elem.dispatchEvent(evObj);",
"} else if( document.createEventObject ) {",
"elem.fireEvent('onmouseover');",
"}"])
browser.execute_script(js_script)
请注意按钮没有响应,任何尝试都没有引发错误。
你自己试试吧,你可以登录我的账户,我已经在脚本里写好了用户名和密码。你必须改变WebDriver的路径。 代码 --> https://pastebin.com/fkYZxywf
【问题讨论】:
标签: javascript python python-3.x selenium webdriver