【问题标题】:Python Selenium select dynamic xpath with variablePython Selenium选择带有变量的动态xpath
【发布时间】: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']"))) 

面临以下错误:

【问题讨论】:

    标签: python selenium selenium-webdriver xpath bdd


    【解决方案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)
    猜你喜欢
    • 2015-09-24
    • 2012-07-08
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 2021-12-10
    • 1970-01-01
    • 2015-12-28
    相关资源
    最近更新 更多