【问题标题】:Selenium - Click Link where Text is IMGSelenium - 单击文本为 IMG 的链接
【发布时间】:2013-06-11 04:21:17
【问题描述】:

我正在尝试单击页面上的“下一页”链接。链接的html是:

<a href="http://www.lewisbrisbois.com/attorneys/search/-/eyJjb2xsZWN0aW9uIjoiYXR0b3JuZXlzIiwicmVzdWx0X3BhZ2UiOiJhdHRvcm5leXNcL3NlYXJjaFwvLSIsInNlYXJjaF9tb2RlIjoiYWxsIiwic2l0ZSI6ImRlZmF1bHRfc2l0ZSJ9/P30"><img src="/assets/images/icons/arrow-orange-right.png" alt="Picture" /></a>

img 是一个橙色箭头。 img 在后续页面上不会更改,但链接会更改。所以我想使用 img 来选择链接,而不是使用链接本身(这样我就不必使用 30 个不同的 xpath,而只能使用一个)。

这个存在的页面是:http://www.lewisbrisbois.com/attorneys/search/-/eyJjb2xsZWN0aW9uIjoiYXR0b3JuZXlzIiwicmVzdWx0X3BhZ2UiOiJhdHRvcm5leXNcL3NlYXJjaFwvLSIsInNlYXJjaF9tb2RlIjoiYWxsIiwic2l0ZSI6ImRlZmF1bHRfc2l0ZSJ9

有没有办法在 selenium 中做到这一点?

【问题讨论】:

    标签: python image xpath selenium


    【解决方案1】:

    通过部分 src(文件名)找到 img,然后转到其父标签 a

    driver.find_element_by_xpath("//img[contains(@src, 'arrow-orange-right.png')]/parent::a")  
    

    等效的xpaths(第一个找到父元素a,第二个直接去父元素):

    //img[contains(@src, 'arrow-orange-right.png')]/parent::a
    //img[contains(@src, 'arrow-orange-right.png')]/..
    

    如果部分 src 不是唯一的,您可能需要使用完整路径 /assets/images/icons/arrow-orange-right.png

    //img[@src='/assets/images/icons/arrow-orange-right.png']/..
    

    【讨论】:

      猜你喜欢
      • 2017-05-27
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 2020-02-16
      • 1970-01-01
      相关资源
      最近更新 更多