簡體   English   中英

硒webdriver javascript查詢

[英]selenium webdriver javascript queries

我最近一直在將selenium webdriver(nodejs模塊)與mocha結合使用,以編寫自動化測試,而這些是我面臨的一些問題

滾動

driver.findElement()

返回false,因為它無法定位該元素,因為它在當前窗口中不可見,但在下面某處。 閱讀一些博客,我認為滾動可以解決問題。但是,我找不到硒中的API來幫助我在瀏覽器中向上,向下,向左,向右滾動。 我嘗試使用

scrollBy(xDelta,yDelta)

在it()子句中使用javscript的方法,但是它也不起作用

讀取元素的文本,該文本將從后端動態更新。

文本不在DOM元素的text屬性中。 我具有元素的xpath,所以這是訪問元素的唯一方法。

我有兩個要求

A.)我需要讀取並獲取html頁面中某些元素的值並將其存儲

B.)我需要閱讀該元素並針對某些文本進行斷言

您能告訴我執行相同操作的webdriver nodejs API方法嗎?

等待特定的文本

我嘗試讀取的元素的文本會隨着時間的變化而變化,以響應各種事件。 如何使用Selenium Webdriver的javascript API以編程方式等待特定文本

我是硒的新手,盡管我發現了很多有關上述問題的討論,但它們都是針對硒的其他平台,例如java等。 硒API的nodejs平台的文檔很少。 所以請幫我

提前謝謝

您不需要使用Selenium Webdriver滾動到元素。 如果您想對放置在頁面底部某處的元素執行某些操作,則硒將滾動頁面並單擊元素(或執行其他操作);否則,硒將滾動頁面並單擊元素。

Selenium-webdriver使用promise(請參閱此文檔以獲取更多信息,以返回元素/屬性的值,因此,如果要獲取某些元素/或其屬性的值,則需要執行以下操作:

driver.findElement(webdriver.By.css("some selector")).then(function(elem){
    //e.g. return text in element
      return elem.getText().then(function(text){
            expect(text).toBe("your text");
      });
})

您不需要在硒中使用任何特定的方法即可等到文本更改后,只需創建循環即可在元素中尋找值一段時間。

暫無
暫無

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

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