Python 当没有ID、名称等和driver.find_elements_by_xpath won';不行?

Python 当没有ID、名称等和driver.find_elements_by_xpath won';不行?,python,selenium,xpath,Python,Selenium,Xpath,我想把“下一次月出”的时间定在上午12:05(接近页面顶部)。它没有名称、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: M

我想把“下一次月出”的时间定在上午12:05(接近页面顶部)。它没有名称、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工作正常,我以前也用过。正是这段特定的数据给我带来了问题。

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

nextMoonRise=driver.通过xpath查找元素('/html/body/div[1]/div[6]/main/article/section[1]/div/div[3]/p[7]'))
打印(nextMoonRise.text)
>>>下月初:明天00:05

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

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

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

如果您了解更多信息,请告诉我。

您能在页面中标记您的元素并使用屏幕截图更新吗?我找不到这个截图。这确实有效。解决方案是使用附加到整个的xpath,而不是我正在寻找的特定数据。非常感谢。