无法在Python中读取div标签中的文本
这段代码的意思是:我在网页上找到了两个类名为 "d3-tip n" 的
标签。当我把鼠标悬停在上面时,这些标签的样式属性中的透明度会变成 "1",我想把这个
标签里的文字打印出来。
我写了下面这段代码,但不知道为什么它没有打印出任何内容。
需要注意的是,我也试过用 position.text 来获取文本,但也没有成功。
下面是相关的HTML代码,显示了两个类名相同的
项,其中包含SQL查询的那个是我想打印的文本。

for position in driver.find_elements_by_xpath('//div[@class="d3-tip n"]'):
style = position.get_attribute('style')
opacity = style[:32]
if opacity == "position: absolute; opacity: 1;":
print position
1 个回答
2
你可以直接从找到的两个 div
中获取第一个,方法是通过类名来获取:
element = driver.find_elements_by_xpath('//div[@class="d3-tip n"]')[0]
print element.text
另一种选择是检查这个 div
标签里面是否没有子元素:
element = driver.find_element_by_xpath('//div[@class="d3-tip n"][count(*)=0]')
print element.text
还有一种选择是检查这个 div
标签里面是否有 select
文字:
element = driver.find_element_by_xpath('//div[@class="d3-tip n"][contains(text(), "select")]')
print element.text