fro*_*975 3 javascript c# jquery selenium
因此,在查找如何使用JQuery查找内容并将其传递回Selenium C#时遇到了一些麻烦,但是我使它起作用了,所以我想分享一下我发现的内容。
特别是:
在这里回答我自己的问题:)
您可以将webElement传递给javascript并通过进行访问arguments。
要将结果返回到C#中,您必须转换为<IReadOnlyCollection<IWebElement>>。对于单个元素,只需使用IWebElement。多个结果的一个技巧是必须调用toArrayJQuery结果,以便它返回一个真实的数组而不是一个对象。
var singleResult = Driver.ExecuteJavaScript<IWebElement>(
"return $('.my-class')[0]");
IWebElement elementToPass = Driver.FindElement(By.Id("cool-id"));
var results = Driver.ExecuteJavaScript<IReadOnlyCollection<IWebElement>>(
"return $(arguments[0]).children('.my-class').toArray()", elementToPass);
Run Code Online (Sandbox Code Playgroud)