python selenium xpath 的tr[]中如何写变量的运算?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python selenium xpath 的tr[]中如何写变量的运算?相关的知识,希望对你有一定的参考价值。
我拿到一个元素的index值b(是一个数值),然后定位另一个元素第b个index的某个元素:
a = driver.find_element_by_xpath("//span[text()='¥2']/ancestor::td[@field='total']")
b = a.get_attribute('index')
print(b)
self.find_element_by_xpath( "//tbody[@id='dataGrid']/descendant::tr[" + b + "]).click()
目前这样可以运行。
现在我想定位第b+1个元素怎么改上面代码?
认真学习 python 基础知识
认真学习下 xpath 选择器
Python Selenium点击同一个tr不同td的链接
嗨,我想点击编辑过滤器按钮,它似乎与财政年度项目在同一个tr中,但在不同的td中。
这是我试过的:
driver.find_elements_by_xpath("//body//tr[@class='FilterEditCell']/td[2]/a[1]").click()
有人可以指导我吗?
谢谢。
答案
尝试在XPath下面使用:
//td[contains(., "Fiscal Yr")]/following-sibling::td/a[img[@title="Edit Filter"]]
您可能需要将ExplicitWait用于动态节点:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
wait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, '//td[contains(., "Fiscal Yr")]/following-sibling::td/a[img[@title="Edit Filter"]]'))).click()
以上是关于python selenium xpath 的tr[]中如何写变量的运算?的主要内容,如果未能解决你的问题,请参考以下文章
Selenium xpath 对 python 的行为与对 ruby 的行为不同 [重复]