如何使用Selenium和Python通过变量标题查找元素

时间:2019-03-17 20:30:45

标签: python selenium xpath css-selectors xpath-1.0

在python中使用硒构建刮板。尝试按顺序选择多个具有“ Race n”形式的连续标题的按钮,其中n是整数。

我希望能够做类似的事情:

driver.find_element_by_css_selector("a[title*=race_i]").click()

其中变量race_i = 'Race ' + str(i)

是否可以将CSS或xpath查找提供给变量,而不是纯字符串?按钮的数量各不相同,因此我需要此功能具有适应性,并且可以将其用于任何n值。

3 个答案:

答案 0 :(得分:0)

您如何将变量连接到xpath / css选择器呢?

$(document).ready(function(){   $('body').find('img[src$="myimage.png"]').remove(); });

答案 1 :(得分:0)

使用format功能,例如

for i in range(1,10):
 driver.find_element_by_css_selector("a[title*=race_{}]".format(i)).click()

答案 2 :(得分:0)

要通过变量title查找元素,可以使用以下Locator Strategies之一:

  • css_selector

    for i in range(1,5):
        driver.find_element_by_css_selector("a[title*='race_'"+ str(i) +"]").click()
    
  • xpath

    for i in range(1,5):
        driver.find_element_by_xpath('//a[contains(@title, "race_{}")]'.format(i)).click()