硒和 LINK_TEXT

Selenium and LINK_TEXT

我尝试使用 LINK TEXT 报废成本,但我的报废方法找不到 TEXT:

budget = budgets.append((driver.find_element(By.LINK_TEXT, 'Total budget/expenditure:')).text)

网址是:https://keep.eu/projects/12880/A-la-d-couverte-des-plus-be-EN/

它与 XPATH 一起工作,但我需要像这样删除很多页面,有时总计 budget/expenditure 和欧盟资助不完全在同一个地方。

错误是:

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"Total budget/expenditure:"}
  (Session info: chrome=100.0.4896.127)

我不知道为什么有时我可以使用 LINK-TEXT 有时不能。 我也试过 PARTIAL_LINK_TEXT 但是不行。

Link 文字

linkText 用于标识网页上的超链接。可以借助锚标记 <a>.

来确定

但是您想要的元素在 <strong> 标记内,因此 By.LINK_TEXT 在这里不起作用.

<p>
    <strong>Total budget/expenditure: </strong>
    " EUR 313 300.00"
</p>

解决方案

要定位元素,您可以使用以下任一方法 :

  • 使用 xpathcontains():

    element = driver.find_element(By.XPATH, "//p//strong[contains(., 'Total budget/expenditure:')]")
    
  • 使用 xpathstarts-with():

    element = driver.find_element(By.XPATH, "//p//strong[starts-with(., 'Total budget/expenditure:')]")