【发布时间】:2014-06-23 11:36:44
【问题描述】:
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”,我想打印该 div 标签中的文本。
我编写了以下代码,但由于某种原因它没有打印任何内容。
注意 - 我也尝试了 position.text ,但这也不起作用。
附件是显示具有相同类的 2 个 div 项的 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
【问题讨论】:
-
在html代码
opacity: 0中。但是在 py 中你检查opacity: 1 -
当我将鼠标悬停时,不透明度变为 1。
-
所以,你有 2 个
div标签,你只需要一个。工具提示的顺序是否始终相同?换句话说,你可以得到第一个divout of 2.. -
是的,顺序是一样的。我修改了我在实际问题中使用的代码。
标签: python html selenium xpath web-scraping