簡體   English   中英

在 Selenium 中如何找到“當前”對象

[英]In Selenium how do I find the “Current” object

我希望 Selenium 通過箭頭鍵導航菜單——首先單擊頂部菜單項,然后按“向下”、“向下”、...

問題是你必須總是提供一個特定的元素來發送“DOWN”。

有沒有辦法獲取當前元素?

我試過了:

by.xpath(".")

但它說表達式無法識別或沒有返回正確的對象。

我希望我只是錯過了一些愚蠢的技巧。

在 Selenium 2.0 中,如果您使用WebDriver來驅動瀏覽器中的測試,您可以使用WebDriver.TargetLocator類在窗口/框架中獲取焦點元素:

WebDriver driver = ... // initialize the driver
WebElement currentElement = driver.switchTo().activeElement();

如果沒有元素處於焦點,則活動元素將變成正在顯示的文檔body ,例如,當您啟動新頁面時可能就是這種情況。 當您調用clicksendKeys等方法時,您會發現上述調用返回的WebElement將始終代表焦點中的元素。

這是使用FirefoxDriver測試的,我懷疑其他驅動程序也是如此,除了HtmlUnitDriver和類似的驅動程序,它們在引擎蓋下不使用成熟的瀏覽器。

在蟒蛇中:

element = driver.switch_to.active_element

不知道比訪問document.activeElement更直接的方法

如何測試 Selenium RC 中哪個元素具有焦點?

在紅寶石/水豚中:

page.driver.browser.switch_to.active_element

請注意,這將返回一個Selenium::WebDriver::Element而不是Capybara::Node::Element

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM