是否可以从值中获取 xpath 位置?



我一直在尝试在Python 3.7上用Selenium抓取网站的这一部分,没有什么独特之处,网站的许多部分具有完全相同的风格。

<tr><td style="black 2px solid" colspan="1"></td></tr>
<tr><td>Total</td><td style="color: blue" valign="top">1,233</td><td style="color: green" valign="top"> (86.35%) </td></tr>
<tr><td colspan="1">&nbsp;</td></tr>

唯一独特的是值是"总计",我需要在"1,233"之后刮掉 td。 使用时:通过 xpath 查找元素 我使用这个 xpath:

('.//td[text()="Total"]')

我一直在玩路,没有运气。

是否可以从值中获取 xpath 位置?

谢谢 :-(

若要获取值1,233请使用以下任一 xpath。

//td[text()='Total']/following-sibling::td[1]

//tr[.//td[text()='Total']]/td[2]

在硒中使用蟒蛇

print(driver.find_element_by_xpath("//tr[.//td[text()='Total']]/td[2]").text)

print(driver.find_element_by_xpath("//td[text()='Total']/following-sibling::td[1]").text)

最佳做法是诱导WebDriverWait(( 并等待visibility_of_element_located((

print(WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,"//td[text()='Total']/following-sibling::td[1]"))).text)

您需要导入以下库。

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

这应该有效:

//td[text()="Total"]/following-sibling::td[1]

您可以在此处进行测试:https://www.freeformatter.com/xpath-tester.html

最新更新