是否有一种使用Selenium和Python绑定执行鼠标悬停(悬停在元素上)的方法?

是否有一种使用Selenium和Python绑定执行鼠标悬停(悬停在元素上)的方法?,python,selenium,selenium-webdriver,python-bindings,Python,Selenium,Selenium Webdriver,Python Bindings,在阅读中,显然曾经有一个RenderedWebElement类,使用hover方法。但是,它是专门为Java开发的(我搜索了Python绑定文档,但没有找到任何结果),并且从那时起,它就不推荐用于Java 悬停不能使用或使用对象执行 关于如何为Python实现这一点,有什么想法吗?我一直在使用,但它使用了RenderedWebElement,因此没有太大帮助 我正在使用:Python 2.7、Windows Vista、Selenium 2、Python绑定 EDIT:对于selenium.se

在阅读中,显然曾经有一个
RenderedWebElement
类,使用
hover
方法。但是,它是专门为Java开发的(我搜索了Python绑定文档,但没有找到任何结果),并且从那时起,它就不推荐用于Java

悬停
不能使用或使用对象执行

关于如何为Python实现这一点,有什么想法吗?我一直在使用,但它使用了
RenderedWebElement
,因此没有太大帮助

我正在使用:Python 2.7、Windows Vista、Selenium 2、Python绑定

EDIT:对于
selenium.selenium.selenium
对象,有一种方法
鼠标悬停
,但我无法找到一种方法来创建实例,而不让独立服务器运行


编辑请仔细阅读标记为答案的回复的评论,以防你像我一样有误解

要进行悬停,需要使用
move\u To\u元素
方法

这里有一个例子

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

firefox = webdriver.Firefox()
firefox.get('http://foo.bar')
element_to_hover_over = firefox.find_element_by_id("baz")

hover = ActionChains(firefox).move_to_element(element_to_hover_over)
hover.perform()

@AutomatedTester为社区提供了一个很好的解决方案

下面是我如何使用它

我使用signal正确退出PhantomJS,因为它有时会挂起在当前进程中

我更喜欢使用
find\u element\u by\u xpath
,因为在chrome中很容易找到xpath

以下是方法:

右键单击->检查->右键单击->复制->复制


最后一行应该是“hover.perform()”是的,我已经试过了,但是当我说hover时,我有一个想法,当我将鼠标悬停在一个元素上时,它会显示应该显示的文本(比如如果你将鼠标悬停在“flag”元素上,就在这个评论的上方,你会弹出一个“为严重问题或版主关注的帖子设置标记”的弹出窗口(我不知道该怎么称呼它)有什么想法吗?这与悬停无关,正在应用的CSS与悬停无关,但您所追求的是元素的标题。为此,您需要使用
get_属性('title'))
在WebElement上,我认为这是获得它的方法……我猜是错的……谢谢你给出了正确的方法!你知道什么时候在mac上支持它吗?我得到了“无法执行本机交互”error加上我一年前的评论,这似乎是在Mac上解决的。我使用的是2.26 python绑定,不再出现“无法执行本机交互”错误
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import signal

browser = webdriver.PhantomJS()
browser.implicitly_wait(3)

def hover(browser, xpath):
    element_to_hover_over = browser.find_element_by_xpath(xpath)
    hover = ActionChains(browser).move_to_element(element_to_hover_over)
    hover.perform()



browser.service.process.send_signal(signal.SIGTERM)  # kill the specific phantomjs child proc
browser.quit()