如何让硒单击动态按钮?

Posted

技术标签:

【中文标题】如何让硒单击动态按钮?【英文标题】:How do I get selenium to click on a dynamic button? 【发布时间】:2021-12-11 22:35:48 【问题描述】:

我无法让 selenium 单击此按钮,因为它没有出现在使用 driver.Chrome() 检索的 html 中,因为它是一个动态按钮 screen capture of button I want to click on

这是网页链接:http://data.cnmc.es/datagraph/jsp/inf_trim.jsp

如何在 Jupyter Notebook 中用 python 完成这项任务?

感谢您的宝贵时间

詹姆

【问题讨论】:

请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

锚标签在iframe,请先切换到iframe,如下所示:

代码:

driver = webdriver.Chrome()
driver.maximize_window()
wait = WebDriverWait(driver, 30)

driver.get("http://data.cnmc.es/datagraph/jsp/inf_trim.jsp")
wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "frame[name='Lateral']")))
wait.until(EC.element_to_be_clickable((By.ID, "29097"))).click()

进口:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

【讨论】:

以上是关于如何让硒单击动态按钮?的主要内容,如果未能解决你的问题,请参考以下文章

用户单击删除按钮时如何删除动态控件(文本框和按钮)

如何仅针对单击显示更多按钮的当前 div 显示动态元素

如何通过单击外部按钮在 agggrid 中动态更改样式?

UITableView:单击按钮时如何动态更改单元格高度?

如何通过动态单击按钮来更改选项卡标题名称?

用户单击按钮时如何动态创建和删除视图[重复]