注意:我已经读过类似的线程,但没有一个我的问题 - 我可以点击它就好了,它就会消失.
我发现"Inspect Element"在Chrome中是一个非常宝贵的工具,但是我最新的尝试,因为我学习了你们许多人已经拥有的巫术方式,看到我在导航栏上为一个元素创建了一个子菜单,当它悬停在它上面时弹出父项目.
弹出窗口(或者说是向下)不是我想要的样式,所以我右键单击>检查元素以查看究竟是从哪里来的,并更好地了解如何实现我想要的效果.
但是,只要我将鼠标从菜单移开,它就会消失.
因此,我无法在检查窗格中选择不同的元素,并查看同时突出显示的区域.
有没有办法解决这个问题,而不更改菜单,以便一旦激活它就会"弹出"?
如何用鼠标悬停/使用selenium webdriver查看隐藏的菜单而不执行任何鼠标点击?
我正在测试的网站上有一个隐藏的菜单只会出现在鼠标悬停/上方.注意:如果执行了任何点击,页面将被重定向,因此请建议无需点击的解决方案
我试过了:
IWebDriver driver = new FirefoxDriver()
Actions builder = new Actions(driver)
builder.MoveToElement(driver.FindElement(By.Id("Content_AdvertiserMenu1_LeadsBtn")))
.Click().Build().Perform();
Run Code Online (Sandbox Code Playgroud) 在官方W3c webdirver文档中,明确指出位置策略是:
State Keyword
CSS selector "css selector"
Link text selector "link text"
Partial link text selector "partial link text"
Tag name "tag name"
XPath selector "xpath"
Run Code Online (Sandbox Code Playgroud)
但是,Selenium的电线协议允许:
class name
css selector
id
name
link text
partial link text
tag name
xpath
Run Code Online (Sandbox Code Playgroud)
在理论中,Selenium的文档已经过时,"真实"的故事在新的规范文档中.然而...
我在最新的Chrome自己的Webdriver上运行了一些测试,我可以确认这一点,name并且class name两者都有效; 但是,它们不符合规格.
我记得在Chromium问题上阅读他们只会实现官方的Webdriver规范.
现在:我知道通用答案,其中"规格并不总是100%遵循"等.但是,我想知道的是:
javascript selenium google-chrome chromium chrome-web-driver