【问题标题】:Selenium Python Issue硒 Python 问题
【发布时间】:2018-10-22 21:20:05
【问题描述】:
browser.find_element_by_xpath('//div[contains(text(), "SomeData")]')

我想传递一个变量而不是一个字符串,我正在使用 Selenuim 和 python。在这种情况下,每次都会找到带有“SomeData”文本的 div,而不是将值作为字符串传递,我希望它是一个变量,每次运行代码时都会改变。

【问题讨论】:

  • 请更具体。 “变量”到底是什么意思?并提供一个最小的工作示例。
  • 我正在传递一个字符串,在上述情况下要找到“字符串”。每次代码运行它都会在 div 中找到 String。但我想每次都更改值,比如应该放置一个变量
  • input=browser.find_element_by_partial_link_text(variable) 看到这个@buhtz
  • 不要评论。请编辑您的问题并在此处提供信息。

标签: python-3.x selenium


【解决方案1】:

我无法给出正确答案,因为我无法完全理解您的问题。但是让我们假设,您希望将声明的 xpath 的某些部分作为变量,该部分可以存储在变量中,然后在您的函数调用中引用。 并且 my_variable 可以在您的代码中进行控制并根据需要更改值,而无需编写完整的 xpath

话虽如此,更清楚您的问题将有助于社区帮助您更好

my_variable = 'SomeData'
browser.find_element_by_xpath(f'//div[contains(text(), "{my_variable}")]')

如果你使用的是低于 3.6 的 python 版本

my_variable = 'SomeData'
browser.find_element_by_xpath(f'//div[contains(text(), "{my_variable}")]'.format(my_variable=my_variable))

或安德森在评论中提供的语法

【讨论】:

  • 请注意,f-strings 语法已添加到 Python 3.6,这不适用于早期的解释器版本。常用选项有'//div[contains(text(), "%s")]' % "SomeData"'//div[contains(text(), "{}")]'.format("SomeData")
猜你喜欢
  • 2021-10-28
  • 2017-12-08
  • 1970-01-01
  • 2022-01-13
  • 2022-01-17
  • 2017-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多