【发布时间】:2021-05-07 02:04:31
【问题描述】:
我正在使用 Python 进行编码,并使用 Selenium。
我必须在span 标记之间打印关闭的年份。
<div class="display_year">
<span class="year">
::before
"1989"
::after
</span>
</div>
我没有使用 Selenium 的经验。 我试着写这个:
year = driver.find_element_by_xpath("//span::after[@class='year']")
print(year.text)
但它不起作用。
我猜是为了那个:: before ... :: after,因为这段代码打印了一个空字符串,它是span标签的内容,当它是::之前
请哪位大神告诉我如何写才能打印年份的内容,在这种情况下是“1989”?
最重要的是:在我展示的示例中,代码是 span class = "year" 。但是如果代码是 span class = "year something somethingelse",它会在语法上有所改变吗?
【问题讨论】:
-
您是否尝试过类似 CSS 选择器
div.display_year > span.year之类的简单方法?无论如何,这应该可以工作......即使 SPAN 标签上有额外的类。如果这不起作用,我的猜测是页面正在后台处理,这就是你得到一个空字符串的原因。您可能需要添加一个等待,直到文本不是空字符串。 -
@jeff 它不会打印伪元素内容它只会打印文本
-
@PDHide OP 说他想要的只是“1989”,而不是伪元素内容。
-
@Zeta22 你能提供这个页面的链接吗?我认为这可能是时间问题。
-
作者已经在使用文本,他正在获得作者想要的年份
标签: python html selenium xpath text