使用Selenium单击span中没有ID的按钮

时间:2016-11-25 01:43:52

标签: python html selenium

我试图用Selenium和Python点击浏览器中的按钮。

按钮位于以下

<div id="generate">
    <i class="fa fa-bolt"></i>
            <span>Download Slides</span>
    <div class="clear"></div>
</div>

Chrome的开发者控制台告诉我该按钮位于<span>范围内,但我不知道如何引用.click()的按钮。

1 个答案:

答案 0 :(得分:2)

好吧,如果您只想点击没有idname的元素,我建议采用三种方法:

  1. 使用xpath

    driver.find_element_by_xpath('//*[@id="generate"]/span')
    
  2. 使用CSS选择器:

    driver.find_element_by_css_selector('#generate > span')
    
  3. 只需尝试.find_element_by_tag_name()

    driver.find_element_by_id('generate').find_elements_by_tag_name('span')[0]
    

    请注意,这种方法首先尝试通过generate获取<div> id元素,然后找到<span>下的所有<div>元素。

    最后,让第一个<span>元素使用[0]