Python + Selenium : How can click on "onclick" elements?

标签 python css python-2.7 selenium xpath

我的网页中有一个“onclick”元素,其 HTML 如下所示:

<a href="#" onclick="fastener('3625')">Fastener</a>

我想使用 Python + Selenium 使用字符串“fastener”或“Fastener”搜索此元素。数字“3625”会根据之前的输入而变化,因此无法搜索到。

我尝试了以下方法,但没有成功:

br.find_element_by_css_selector("a[@onlick*='fastener']").click()

请提出执行此操作的方法。谢谢!

P.S.:我使用的是 Python 2.7、Chrome WebDriver 和 Chrome v62。

最佳答案

要搜索文本为紧固件的元素,您可以使用以下任一选项:

  • 通过紧固件:

    br.find_element_by_link_text("Fastener").click()
    
  • 通过fastener(xpath)使用onclick:

    br.find_element_by_xpath("//a[contains(@onclick,'fastener')]").click()
    
  • 通过fastener(css_selector)使用onclick:

    br.find_element_by_css_selector("a[onclick^='fastener']").click()
    

关于Python + Selenium : How can click on "onclick" elements?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49171370/

相关文章:

html - 使用 CSS 类覆盖动画持续时间

javascript - Bootstrap 附加自定义 JS 和 CSS 重叠 HTML 元素/定位不正确

python - 计算 Pandas 中的列值

python - 为什么 Windows 上的 python 2.7 在打印时需要在 unicode 字符前加一个空格?

python - 在 Pandas 数据框中,如何计算每个月内每个十分位数的中值

python - 安装 Lion 后出现 python 虚拟环境错误

css - 我无法添加延伸到 div 下面整行的 hr

Python:如何等到子进程完成初始化

python - 使用 pandas python 的 SuperTrend 代码

python-2.7 - 动态上下文无关语法NLTK