在Selenium中如何找到“当前”对象
我希望Selenium通过箭头键导航菜单 – 从单击顶部菜单项开始,然后按“DOWN”,“DOWN”,…
问题是你必须提供一个特定的元素来发送“DOWN”。
有没有办法获得当前元素?
我试过了:
by.xpath(".")
但它说表达式未被识别或未返回正确的对象。
我希望我能错过一些愚蠢的伎俩。
不知道比访问document.activeElement
更简单的方法
如何在Selenium RC中测试哪个元素具有焦点?
在Selenium 2.0中,如果您使用WebDriver
在浏览器中驱动测试,则可以使用WebDriver.TargetLocator
类在窗口/框架中获取焦点元素:
WebDriver driver = ... // initialize the driver WebElement currentElement = driver.switchTo().activeElement();
如果没有元素处于焦点,则活动元素将变成正在显示的文档的body
,例如,当您启动新页面时可能就是这种情况。 当你调用click
, sendKeys
等方法时,你会发现上面调用返回的WebElement
总是代表焦点元素。
这是使用FirefoxDriver
测试的,我怀疑其他驱动程序也是如此,除了HtmlUnitDriver
以及不使用成熟浏览器的类似驱动程序。
在python中:
element = driver.switch_to.active_element