如果没有ID、名称等,并且driver.find_elements_by_xpath不起作用,该怎么办?

2024-10-03 23:18:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图把“下一次月出”的时间拉到凌晨12:05(朝着this页的顶部)。它没有名称、ID,当我运行以下xpath时,它不起作用:

nextMoonRise = driver.find_element_by_xpath('/html/body/div[1]/div[6]/main/article/section[1]/div/div[3]/p[7]/text()')

我收到的错误是:

 "selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: The result of the xpath expression "/html/body/div[1]/div[6]/main/article/section[1]/div/div[3]/p[7]/text()" is: [object Text]. It should be an element."

注意:Xpath工作正常,我以前也用过。正是这一特定的数据给了我问题


Tags: textdiv名称idmainhtmlarticle时间
2条回答

我们可以访问没有名称、ID、类等属性的web元素

目前您使用的是绝对xpath,下面的xpath将有助于只获取下一次月亮升起的时间。下面是相对路径。尝试使用以下类型的xpath express。这将有很多好处

.//p[contains(.,'Next Moonrise: ')]/text()

如果你知道的更多,请告诉我

/text()无效.text是从元素获取文本的属性

nextMoonRise = driver.find_element_by_xpath('/html/body/div[1]/div[6]/main/article/section[1]/div/div[3]/p[7]')
print(nextMoonRise.text)
>>> Next Moonrise: Tomorrow00:05

相关问题 更多 >