如何将Python变量传递给XPath表达式?

2024-04-20 05:20:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在开发一个脚本,它根据给定的文本打印Web元素的ID。到目前为止,我还是设法做到了:

wait.until(lambda browser: browser.find_element_by_xpath("//*[contains(text(), 'my_text')]"))
ID = browser.find_element_by_xpath("//*[contains(text(), 'my_text')]").get_attribute("id")
print(ID)

代码运行得很好,但我想更改它,以便它可以用于除“my_text”之外的字符串。在

如何将变量传递给该函数?像这样:

^{pr2}$

这样我就可以把任何文本赋给变量,每次都使用相同的函数。在

谢谢!在


Tags: 函数text文本browser脚本webid元素
3条回答

尝试使用以下代码:

variable = "my_text"
your_needed_xpath = "//*[contains(text(), '{}')]".format(variable)

希望对你有帮助!在

在将xpath模式输入方法之前,可以先格式化它。在

pattern = "//*[contains(text(), %s)]" % variable
ID = browser.find_element_by_xpath(pattern).get_attribute("id")

在{em>前面加上一个的字符串:

variable = 'my_text'
wait.until(lambda browser: browser.find_element_by_xpath(f'//*[contains(text(), {variable})]'))
ID = browser.find_element_by_xpath(f'//*[contains(text(),{variable})]').get_attribute("id")
print(ID)

这称为string interpolation。在

相关问题 更多 >