簡體   English   中英

如何在Selenium Webdriver C#中執行Js腳本

[英]how to execute Js Script in Selenium Webdriver C#

此行代碼返回元素數。 document.getElementsByClassName("entry entryWriteable"); ->返回70個元素

我想實現一個循環,以便對所有元素執行下面的代碼行。

document.getElementsByClassName("entry entryWriteable")[i].value;

誰能幫我隱含C#硒?

為了在C#上的硒中執行JS,您應該使用以下代碼:

((IJavaScriptExecutor) Driver).ExecuteScript("your code"));

因此,您可以執行所需的任何JS代碼。

ExecuteScript返回object因此您可以對其進行鍵入。

就像Denis所說的,但是如果您需要整個元素數組中所有值的返回值,請嘗試:

using OpenQa.Selenium.Webdriver.Extensions

driver.ExecuteJavascript<string>(`
var els = document.getElementsByClassName("entry entryWriteable");
string returnAllElementTexts = "";
for(var i = 0; i < els.length; i++) {

    returnAllElementTexts += els[i] + "|";

}
return returnAllElementText;`);

這將返回以豎線分隔的所有值的字符串。 從C#在管道上拆分。 那是你想要的嗎? 來自元素數組的所有文本值?

暫無
暫無

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

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