Xpath总是点击第一个孩子<li> python

时间:2015-07-25 08:16:55

标签: python html selenium onclick html-lists

我试图使用代码按下几个链接:

self.browser.find_element_by_xpath("//li[@onclick[contains(text(),"+origin_iata_code+")]]").click()

origing_iata_code是以下对象:

['FLL', 'MCO', 'AFL', 'ATM', 'AJU', 'ARU', 'AAX', 'NVT', 'BRA', 'JTC',...]

我点击的代码对所有人都有一个独特的东西,但它始终只按FLL一个

<li onclick="selecionou('FLL', this,'.txtBusca1', 'true', 'origem', 'Estouem1', 'FLL');">
..
</li>
<li onclick="selecionou('MCO', this,'.txtBusca1', 'true', 'origem', 'Estouem1', 'MCO');">
..
</li> 

等等

1 个答案:

答案 0 :(得分:1)

问题是你忘记添加引号。

("//li[@onclick[contains(text(),'"+origin_iata_code+"')]]")

您必须使用.代替text()

使用此

  //li[@onclick[contains(.,'FLL')]]

  //li[contains(@onclick,'FLL')]

所以选择

 ("//li[@onclick[contains(.,'"+origin_iata_code+"')]]")