[英]How to click a link that has javascript:__doPostBack in href?
[英]How to click on a link with Selenium with href="javascript:__doPostBack
我试图点击来自 selenium.webdriver 的链接,但我什么也没得到。 可以请帮助解决这个问题
页面包含以下元素:
<a href="javascript:__doPostBack("m_m_cBody_bdy_uc_tbl$Edit","13911")"> Details </a>
我的点击目标:
“m_m_cBody_bdy_uc_tbl$编辑”,“13911”
请注意,我有很多文本链接
细节
不是我页面上的唯一元素
<a href="javascript:__doPostBack("m_m_cBody_bdy_uc_tbl$Edit","41946")">
Details </a>
要单击您需要为element_to_be_clickable()引入WebDriverWait的元素,您可以使用以下任一定位器策略:
使用XPATH和normalize-space() :
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[normalize-space()='Details' and contains(@href, '13911')]"))).click()
使用XPATH和contains() :
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[contains(., 'Details') and contains(@href, '13911')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.