Selenium Python选择并选择两个相似的图标

时间:2016-02-25 19:03:19

标签: python selenium web-scraping

我希望python selenium按下Politics图标,但在国际部分,我尝试了driver.find_element_by_xpath("//class[contains(., 'Politics')][1]").click(),其中[1]应该将它放在国际部分但不起作用。请有人帮帮我。以下是我正在使用的HTML代码。

<li class="level-1 National "> 
      <li class="level-2 collapse">
           <span class="text"><span class="news-icon politics" title="Politics"></span>politics</span>
        <ul style="display:none">
                <li class="collapse">

<li class="level-1 International "> 
        <li class="level-2 collapse">
                 <span class="text"><span title="Politics" class="news-icon politics"></span>politics</span>
        <ul style="display:none">
             <li class="collapse">

2 个答案:

答案 0 :(得分:0)

我会写一个 CSS选择器 - 更简洁:

driver.find_element_by_css_selector("li.International span.politics")

答案 1 :(得分:0)

如果你想使用xpath,我建议你不要使用像 [1] 这样的索引。

所以你的xpath看起来像:

  

“// li [contains(@class,'International')] // * [contains(@ title,'Politics')]”

比CSS更大一点