繁体   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