下面的代码有什么问题
import os
import time
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://x.x.x.x/html/load.jsp")
elm1 = driver.find_element_by_link_text("load")
time.sleep(10)
elm1.click()
time.sleep(30)
driver.close()
页面源是
<body>
<div class="formcenterdiv">
<form class="form" action="../load" method="post">
<header class="formheader">Loader</header>
<div align="center"><button class="formbutton">load</button></div>
</form>
</div>
</body></html>
我想点击按钮加载。 当我运行上面的代码时收到此错误selenium.common.exceptions.NoSuchElementException: 消息: 无法找到元素: load
正如文档所述,find_elements_by_link_text
仅适用于a
标签:
当您知道锚标记中使用的链接文本时,请使用此选项。有了这个 策略,第一个元素,其链接文本值与 位置将被返回。如果没有元素具有匹配的链接文本 属性,将引发 NoSuchElementException。
解决方案是使用不同的选择器,如find_element_by_class_name
:
elm1 = driver.find_element_by_class_name('formbutton')
你试过使用 Xpath 吗?
正如OP所说,find_elements_by_link_text
仅适用于a
标签: 下面的代码可能会帮助你
driver.get_element_by_xpath("/html/body/div/form/div/button")