我正在使用Selenium驱动程序自动显示StackOverflow的网页。我希望所有注释都显示在浏览器中,所以我有代码来查找注释列表底部的元素,如下所示:
<a class="js-show-link comments-link " title="expand to show all comments on this post" href="#" onclick="">show <b>7</b> more comments</a>
找到此元素后,我会尝试使用.click()
方法,但在第三次点击之前没有任何反应。
(还有一件事:在我发布问题之后,我意识到.click()
方法在我手动点击链接后使用时会有效,然后重新加载页面。这很奇怪。也许页面需要在缓存中?)
这几个月以前一直很好用,但是现在有一个事件监听器(一个带有字母的小黑图标&#34; ev&#34;在它旁边) element,onclick
属性为空字符串。
事件监听绑定是否会影响.click()
的行为?有解决方案吗?感谢。
我在Python 2.7中使用selenium。这是我的代码:
link = u'http://stackoverflow.com/questions/549/the-definitive-guide-to-form-based-website-authentication'
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
driver = webdriver.Firefox(capabilities=firefox_capabilities)
driver.get(link)
myelement = driver.find_element_by_css_selector('[title="expand to show all comments on this post"]')
myelement.click()