无法从python中的div标签中读取文本

时间:2014-05-06 18:01:28

标签: python html selenium xpath web-scraping

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;": tooltipmessage = driver.find_element_by_xpath('//div[contains(@style,"%s")]' % opacity) time.sleep(3) print tooltipmessage.text我有2个具有相同类的div标签(" d3-tip n")。当我悬停鼠标时,不透明度变为" 1"在style属性中,我想打印div标签中的文本。

我编写了以下代码,由于某种原因,它不会打印任何内容。

注意 - 我也尝试过position.text,但也没有。

附加的是HTML代码,它显示具有相同类的2个div项目,带有SQL查询的项目是我要打印的文本。 enter image description here

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 个答案:

答案 0 :(得分:2)

您可以从类名找到的第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 标记中是否有子项:

select

另一个选项是检查div文字中是否有element = driver.find_element_by_xpath('//div[@class="d3-tip n"][contains(text(), "select")]') print element.text 个文字:

{{1}}