如何在不使用 Xpath Selenium Python 的情况下单击

Posted

技术标签:

【中文标题】如何在不使用 Xpath Selenium Python 的情况下单击【英文标题】:How to click without using Xpath Selenium Python 【发布时间】:2020-04-12 21:01:13 【问题描述】:

如何在不使用 Xpath、ID、Linktext 的情况下点击该项目

最好我想在这个属性之后点击

href="/tedsfasidnpopo/Jakpopo"

 <td>
    <a id="STa_5" data-impr="False" href="/tedsfasidnpopo/Jakpopo" rel="5">
    <span class="newfile"><span class="">Jakkpopos12</span></span>
   </a> 
</td>

【问题讨论】:

【参考方案1】:

如果不想使用 Xpatch、ID、Linktex 则使用 css 选择器点击

td>a[ href='/tedsfasidnpopo/Jakpopo']

诱导WebDriverWait,等待element_to_be_clickable()

WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"td>a[ href='/tedsfasidnpopo/Jakpopo'] "))).click()

您需要导入以下库。

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

已编辑

drewno='/tedsfasidnpopo/Jakpopo'
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"td>a[href='" + drewno + "'] "))).click()

drewno='/tedsfasidnpopo/Jakpopo'
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"td>a[href='']".format(drewno)))).click()

【讨论】:

我还有一个新手问题我想把这个值放在一个变量“/tedsfasidnpopo/Jakpopo”中,然后我尝试了,所以变量是“drewno”WebDriverWait(驱动程序,10)。直到(EC.element_to_be_clickable((By.CSS_SELECTOR,"td>a[ href=drewno] "))).click()

以上是关于如何在不使用 Xpath Selenium Python 的情况下单击的主要内容,如果未能解决你的问题,请参考以下文章

如何使用selenium和python创建具有相同xpath的元素列表?

Selenium中如何使用xpath更快定位

如何通过 Java 使用 XPath 和 Selenium WebDriver 单击 SVG 元素

如何在 Selenium WebDriver 中使用 xPath 来抓取 SVG 元素?

如何使用 Selenium xpath 查找包含“下载”一词的所有元素?

在 Python Selenium 的 xpath 中使用变量