【发布时间】:2021-06-03 21:17:45
【问题描述】:
我想要抓取的部分是这样的:
<dl class="some class">
<dt> <strong>Text1</strong></dt>
<dd> Result1</dd>
<dt> <strong>Text2</strong></dt>
<dd> Result2</dd>
<dt> <strong>Text3</strong></dt>
<dd> Result3</dd>
<dt> <strong>Text4</strong></dt>
<dd> Result4</dd>
. . .
我目前在做的是:
e = driver.find_element_by_xpath("//*[contains(text(), 'Text3')]")
当我执行print(e.text) 时,它会成功打印Text3。我想要的是Result3。当我这样做时:
driver.find_element_by_xpath("//*[contains(text(), 'Text3')]/following-sibling::dd")
这显示了NoSuchElementException 的错误。我想要特定文本旁边的结果。
我也试过这个:
for i in driver.find_elements_by_class_name("some class"):
print(i.find_element_by_xpath("./dt[.='Text3']/following-sibling::dd").text)
仍然显示NoSuchElementException。
【问题讨论】:
标签: python selenium selenium-webdriver xpath