【问题标题】:How to locate the href value of a link in a webpage by selnium in Python如何通过Python中的selenium定位网页中链接的href值
【发布时间】:2018-11-21 02:24:02
【问题描述】:

我有一个包含 1 行表格的网页,其中包含一个链接。我想获得链接的href。

<table class="Table__table___3G1SW">
    <caption>My Cpation</caption>
    <colgroup><col class="Table__col-12___1AM3h"></colgroup>
    <thead>
        <tr><th scope="col"> Name, XYZ, Hel</th></tr>
    </thead>
    <tbody><tr><td><div><div><a href="/staff/312577">
        <div><!-- react-text: 535 -->KLMNOP<!-- /react-text --><!-- react-text: 536 -->,<!-- /react-text --><!-- react-text: 537 --> <!-- /react-text --><!-- react-text: 538 -->ABCDEF<!-- /react-text --><!-- react-text: 539 --> <!-- /react-text --><!-- react-text: 540 -->B<!-- /react-text --></div></a></div><p>HOMNTH &amp; XYZ</p><div><div><div>LLLMMMNN</div><div></div><div><!-- react-text: 547 -->NEW GBEL,<!-- /react-text --><!-- react-text: 548 --> <!-- /react-text --><!-- react-text: 549 -->NP<!-- /react-text --><!-- react-text: 550 --> <!-- /react-text --><!-- react-text: 551 -->085362!-- /react-text --></div></div></div></div></td></tr>
    </tbody>
</table>

我想获取/staff/312577 的值,我尝试使用 xpath 但没有成功

elm = browser.find_element_by_xpath('//table[@class="Table__table___3G1SW"]//a[]')

我知道我犯了一个错误,因为我没有指定 a 值,但我不确定如何隔离 href 值。

【问题讨论】:

标签: python selenium


【解决方案1】:

试试这个我认为它会工作,你有一个错误xpath的末尾需要//a而不是//a[],然后在这个简单的使用get_attribute()方法之后

elm = browser.find_element_by_xpath('//table[@class="Table__table___3G1SW"]//a')
print(elem.get_attribute('href'))

输出

'/staff/312577'

【讨论】:

    【解决方案2】:

    要提取href 属性的值,即/staff/312577,您可以使用以下定位策略

    myText = driver.find_element_by_xpath("//table[contains(@class,'Table__table___')]/caption[contains(.,'My Cpation')]//following::tbody[1]/tr/td//a").get_attribute("href")
    

    【讨论】:

      猜你喜欢
      • 2016-12-28
      • 2020-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      相关资源
      最近更新 更多