Python Selenium选择带有变量的动态xpath
Posted
技术标签:
【中文标题】Python Selenium选择带有变量的动态xpath【英文标题】:Python Selenium select dynamic xpath with variable 【发布时间】:2022-01-14 13:29:09 【问题描述】:我正在尝试找到一个可见元素,该元素会根据用户在网站上输入的内容而改变。如果将以下内容与静态 XPath 搜索字符串一起使用,我就成功了:
wait.until(EC.visibility_of_element_located((By.XPATH,"//div[text()='Hierarchy']/following::input[@id='label-input']")))
Default-Test 会随意改变,我有如何获取这个值,但是我在 XPath 搜索中使用变量没有成功:Test method 1 doesn't work
dtg_found = "Default-Test"
测试方法2不起作用,这是实际定位值的方法
dtg_opt_1 = wait.until(EC.visibility_of_element_located((By.XPATH, "//div[text()='" + label_name + "']/following::input[@id='label-input']")))
面临以下错误:
【问题讨论】:
【参考方案1】:尝试使用如下的 f 字符串:
dtg_opt_1 = wait.until(EC.visibility_of_element_located((By.XPATH, f"//div[text()=label_name]/following::input[@id='label-input']")))
【讨论】:
它对我不起作用 :( 我期待下面的函数 . def enter_the_value_in_textbox(self, label_name, label_value): # self.input_element(By.XPATH, f"//div[text ()=label_name]/following::input[@id='label-input']", label_value) ele = self.driver.find_element_by_xpath(f"//div[text()=label_name]/following ::input[@id='label-input']") self.driver.execute_script("arguments[0].click();", ele)以上是关于Python Selenium选择带有变量的动态xpath的主要内容,如果未能解决你的问题,请参考以下文章
使用 Selenium python 驱动程序选择带有文本的 <option> 的正确方法是啥[重复]
Python3.x:selenium遍历select下拉框获取value值