python - 为什么 Selenium (Python) 在带有链接文本的页面上找不到链接?
问题描述
这是我从中绘制的 HTML 片段:
<div class="exportlinks">
Export options:
<a href=[link]>
<span class="export CSV">CSV</span>
</a>
|
<a href=[really secret link here]>
<span class="export excel">Excel</span>
</a>
</div>
这是我尝试使用的代码片段:
exportToExcel = browser.find_element_by_link_text("Excel")
exportToExcel.click()
我还尝试按类名(导出 excel)查找元素,但无济于事。
哎呀,我什至尝试通过按类查找元素(“exportlinks”)来检索两个链接,然后从该列表中选择我想要的那个,但它返回了一个空列表。
我在这里错过了什么吗?这是否与文本和类在 a 中的事实有关?或者这个 HTML 片段在页面的其余部分 HTML 中相当深入的事实?
任何帮助,将不胜感激!谢谢!
解决方案
如果它是动态生成的,你必须使用WebDriverWait
exportToExcel = WebDriverWait(driver, 15).until(
lambda d: d.find_element_by_link_text("Excel")
# lambda d: d.find_element_by_css_selector('.export.excel')
)
exportToExcel.click()
或者如果它在iframe
切换到它
iframe = driver.find_element_by_***("....")
driver.switch_to.frame(iframe)
exportToExcel = browser.find_element_by_link_text("Excel")
exportToExcel.click()
推荐阅读
- c# - 使用 IDictionary 在电话簿中搜索
- typescript - 导航无法单击角度中的后退按钮
- angular - 清除 observable 不允许将新数据重新加载到表中
- java - 如何从 Jersey 客户端的 XML 文件中读取我的 XML 数据?
- java - Java11,MalformedByteSequenceException应该换成什么?
- java - 打印在日志中的 Jar 文件名
- c++ - gluLookAt 不断旋转相机
- akeneo - 带有状态和批量操作的 Akeneo 错误
- javascript - @azure/msal-angular 的元数据版本不匹配
- c++ - put_time() 忽略时区偏移的转换说明符“z”