检查页面上是否存在文本,但从变量 (Selenium) 中读取文本

Check if text exists on a page, but read the text from a variable (Selenium)

我正在尝试使用 Selenium 在页面上找到匹配的文本,但我不确定如何让它从变量中读取输入字符串。 例如:

video_title = 'Michael Jackson - Thriller'
driver.find_elements_by_xpath("//*[contains(text(), video_title)]")

上面的代码没有给我很好的结果,因为它可能在文学中搜索“video_title”,而不是里面的字符串。 我在上面的代码中省略了 video_title 周围的标准引号,希望 Selenium 将其视为一个变量,但它似乎不起作用。

这可以吗?使用 Selenium 或其他方式? 谢谢!

您需要将视频标题作为变量而不是文本传递,如下面的代码所示:

video_title = 'Michael Jackson - Thriller'
driver.find_elements_by_xpath("//*[contains(text(), '" + video_title + "')]")

请注意 video_title 周围的额外单引号,这是必需的,因为它是一个字符串。在运行时,这将导致以下 XPath 表达式:

//*[contains(text(), 'Michael Jackson - Thriller')]