javascript – Selenium将dom元素传递给JQuery并将结果返回到C#

所以我在查找如何使用JQuery查找内容并将其传递给Selenium C#时遇到了一些麻烦,但我确实让它工作了,所以我想我会分享我发现的东西.

特别是:

>如何将IWebElements从C#传递给JQuery?
>如何从javascipt的结果中将一个对象数组返回到C#中?

解决方法:

在这里回答我自己的问题:)

您可以将webElements传递给javascript并通过参数访问它们.

要将结果返回到C#,您必须转换为< IReadOnlyCollection< IWebElement>>.对于单个元素,只需使用IWebElement.多个结果的一个技巧是你必须在JQuery结果上调用toArray,以便它返回一个真实的数组而不是一个对象.

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);

相关文章

转载地址:https://www.cnblogs.com/mini-monkey/p/12104821...
web自动化测试过程中页面截图相对比较简单,可以直接使用sel...
目录前言一、Selenium简介二、浏览器驱动1.浏览器驱动参考2....
一、iframe的含义:iframe是HTML中框架的一种形式,在对界面...
转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.to...
'''##**认识selenium**​**下载:pipinstall...