[英]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.