【发布时间】:2018-08-22 17:43:08
【问题描述】:
我有以下代码:
<a class="sectionname" href="#" onclick="expandAll();return false;">Expand all</a>
当我点击全部展开时,整个页面都会加载。如何使用 Python 的 WebDriver 来做到这一点?
【问题讨论】:
-
发布你的 Python 脚本。
我有以下代码:
<a class="sectionname" href="#" onclick="expandAll();return false;">Expand all</a>
当我点击全部展开时,整个页面都会加载。如何使用 Python 的 WebDriver 来做到这一点?
【问题讨论】:
根据HTML,您可以使用find_element_by_link_text 并调用click() 方法,如下所示:
driver.find_element_by_link_text("Expand all").click()
您可以使用find_element_by_xpath 获得更详细的信息,如下所示:
driver.find_element_by_xpath("//a[@class='sectionname' and contains(.,'Expand all')]").click()
由于您仍然看不到扩展,您可以尝试 Javascript 方式如下:
myElement = driver.find_element_by_xpath("//a[@class='sectionname' and contains(.,'Expand all')]")
driver.execute_script("arguments[0].click();", myElement)
【讨论】:
"expandAll();return false;" 的 onclick 事件,这对我没有任何意义。你能做到手动吗?页面需要多长时间才能更改?
WebElement 到link_text,然后点击xpath,但没有成功。所以最后我们得到了JavascriptExecutor 的帮助,它直接与 WebElement 交互,我们成功了。如果您还有任何疑问,请告诉我。