簡體   English   中英

在硒javascript執行器中使用javascript

[英]using javascript in selenium javascript executor

我想驗證我的要求文字是否出現在頁面上。 我不能使用硒webdriver的gettext()方法作為其拋出權限異常。 所以我正在使用JavaScript來比較文本。

 String scriptToExec = "var result = document.getElementsByClassName('Sender');
    for(var element in result){
    if (element.text.contains('mytext'))
    {return true;}
    else
    {return false;}}";          

    JavascriptExecutor js = (JavascriptExecutor) driver;
    Boolean result = (Boolean) (js.executeScript(scriptToExec));

我收到此異常:org.openqa.selenium.remote。

ErrorHandler $ UnknownServerException:element.text未定義

這里有許多JavaScript問題,以及對選擇器的嚴重缺乏了解。 contains不是標准的一部分,並且不適用於較舊的瀏覽器:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/contains

如果由於任何原因未定義element.text則需要解決:

if (element && element.text && element.text.contains('mytext'))

(這意味着,如果“ element”是某物,而element.text是某物 ,並且element.text包含“ mytext”)

另外,我可以看到您基本上是在嘗試對某些文本進行包含搜索-您絕對不需要JavaScript 可以使用XPath選擇器來完成!

暫無
暫無

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

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