[英]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
,例如,當您啟動新頁面時可能就是這種情況。 當您調用click
、 sendKeys
等方法時,您會發現上述調用返回的WebElement
將始終代表焦點中的元素。
這是使用FirefoxDriver
測試的,我懷疑其他驅動程序也是如此,除了HtmlUnitDriver
和類似的驅動程序,它們在引擎蓋下不使用成熟的瀏覽器。
在蟒蛇中:
element = driver.switch_to.active_element
不知道比訪問document.activeElement
更直接的方法
在紅寶石/水豚中:
page.driver.browser.switch_to.active_element
請注意,這將返回一個Selenium::WebDriver::Element
而不是Capybara::Node::Element
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.