【发布时间】:2018-06-20 10:31:25
【问题描述】:
我将 Selenium 与 Python 和 Chromedriver 一起使用来单击“按钮”(实际上不是 HTML 中的按钮,但看起来像屏幕上的一个并且是可点击的)。 HTML 在下面,我正在尝试单击带有“button-new”ID 的那个。
<td class="read" colspan="4">
<a href="#" id="button-read" onclick="formRead(); return false;" title="Read record from database" tabindex="1" class="button button-read">Read</a>
<a id="button-new" title="Read new record from database" class="button button-new">New</a>
</td>
我尝试过使用:
new_button = driver.find_element_by_id("button-new")
new_button = driver.find_element_by_css_selector("A.button.button-new")
new_button = driver.find_element_by_xpath('//*[@id="button-new"]')
紧随其后
new_button.click()
但是我得到 NoSuchElementException 并且它无法找到它。
我在任何其他元素上都没有遇到过这个问题,也不知道哪里出错了。
编辑解决方案:
我意识到我需要切换 iframe
driver.switch_to.frame(driver.find_element_by_id("nested1"))
【问题讨论】:
-
试试
driver.find_element_by_id('button-read') -
@bhupathituraga 这也没有找到,并且有两个按钮彼此相邻:读取和新建,我需要单击新建,所以我认为即使它找到了按钮读取它也不会帮助了我
-
请保留更多html或分享按钮url
-
请调试检查,点击之前网页已加载。否则,您需要将它与显式等待一起使用。
-
driver.find_element_by_class_name("button.button-new")
标签: python selenium button selenium-chromedriver