Python Selenium从HTML Code的相同部分获取两个元素

问题描述 投票:1回答:1

嗨,我试图找到这些行保存数字30.1和-10.5并点击Tony Marco。我正在欺骗VaR=driver.get_element_by_xpath("//id[contains(@class, 'PointsTabL PointsSel')]//*[contains(@title,'VaR')]")但不起作用。请有人帮帮我。

<td>
     <a id="po-s-23320221-h" href="javascript:$M('po').onPoint('s',23320221,'h',30.1)" class="PointsTabL PointsSel">
        <span class="VaR">30.1</span>
        <span class="VaM">-10.5</span>
        <span class="VaL" title="Tony Marco">Tony Marco</span>
     </a>
    </td>
python selenium web-scraping
1个回答
1
投票

//id[contains(@class, 'PointsTabL PointsSel')]//*[contains(@title,'VaR')]将无缘无故,原因有两个:

  • 你正在检查class元素的id属性(?) - 相反你应该使用a
  • 你正在检查VaR是否在title属性内,但需要检查class

固定版本:

//a[contains(@class, 'PointsTabL PointsSel')]//*[contains(@class,'VaR')]

或者,更简洁的CSS选择器:

VaR = driver.get_element_by_css_selector("a.PointsTabL.PointsSel .VaR")
print(VaR.text)
© www.soinside.com 2019 - 2024. All rights reserved.