Python + Selenium - 无法单击按钮(onClick = openWIndow)

时间:2017-12-10 09:57:43

标签: javascript python python-3.x selenium webdriver

我正在尝试使用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)

请注意,该按钮没有响应,任何尝试都没有出现错误。

这是一张图片来说明我想要完成的事情: enter image description here

亲自尝试,您可以自由登录我的帐户,我已经在脚本中编写了用户名和密码。您必须更改WebDriver的路径。 代码 - &gt; https://pastebin.com/fkYZxywf

1 个答案:

答案 0 :(得分:0)

您应该使用您的案例的元素列表,并通过列表中的索引获取特定元素。

const router = express.Router({mergeParams: true});

希望它可以帮到你!