python - 如何通过 Selenium 和 Python 点击​​表中的 onclick 事件

标签 python selenium xpath css-selectors webdriverwait

我正在自动化一项功能,用户需要单击以下链接中突出显示的链接。

HTML

我尝试了 xpath 上的 contains ,即 //*[@id="lc"],以及来自 Here 的 onclick 选项。两者都不起作用,并且元素错误不存在错误。

我知道我位于正确的 iframe 中,因为当使用不包含的 xpath 时,脚本会毫无问题地单击第一个 xpath 链接。

最佳答案

要在所需元素上click(),因为该元素是动态元素,您必须为元素引发WebDriverWait可点击,您可以使用以下任一 Locator Strategies :

  • 使用CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "td.EMROtherEpsEven>table tr>td.EMROtherEpsEven#lc[onclick*='Hemoglobin']"))).click()
    
  • 使用XPATH:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//td[@class='EMROtherEpsEven']/table//tr/td[@class='EMROtherEpsEven' and @id='lc'][contains(@onclick, 'Hemoglobin')]"))).click()
    
  • 注意:您必须添加以下导入:

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

关于python - 如何通过 Selenium 和 Python 点击​​表中的 onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54188582/

相关文章:

java - Selenium WebDriver - 使用 HTLMUnitDriver 时下拉列表仅包含第一个元素

python - 使用 selenium 保持登录帐户

python - 在性能方面哪个更合适 - 多线程或多处理?

error-handling - 复杂功能的Pythonic错误处理

python - 如何为 python 函数定义 send_keys ?

html - Xpath:从<li>中的特定<span>中选择内容

python - 根据颜色值将多维 Numpy 数组转换为二维数组

Python 和 Selenium : Force no download window

sql - xQuery LIKE 运算符?

python - 单击不可见的元素(有 slider 的地方)