如何找到一行并单击整个表的表元素硒?

问题描述 投票:1回答:2

我想点击绑在标签这个TD的链接。

我可以使用的onclick找到一个项目链接,但该名称来自血红蛋白A1c的变化,对糖化血红蛋白等,并的onclick没有唯一的ID搜索每次。

现在用这样的:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//td[contains(@onclick, '%s' )]" % testname))).click()

testname = 'A1c'

UI

HTML

python html html5 selenium selenium-webdriver
2个回答
0
投票

请试试这个:

testname= "a1c"
try:
    elem = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//td[contains(translate(text(), "AC", "ac"), {})]/following-sibling::td[3]//td'.format(testname))))
except TimeoutException:
    print("Element not found")
else:
    elem.click()

说明:

  • //td[contains(translate(text(), "AC", "ac"), testname)]:首先找到包含td 'A1C' 或 '糖化'(或 'A1C' 或 'A1C')一个text元件。这里transalte()是XPath函数将取代所有“A”和“C”与“一”和“C”。
  • /following-sibling::td[3]//td然后我们去那个td元素,而你的情况是相同类型的第三同胞的兄弟,然后我们发现在它的子元素td

0
投票

请试试这个检查是否工作。

testname = "A1c"
element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//td[text()[contains(.,'" + testname + "')]]")))
element.click
© www.soinside.com 2019 - 2024. All rights reserved.