2
으로 가져옵니다. 그래서 JQuery를 사용하여 물건을 검색하고 셀레늄 C#으로 다시 전달하는 방법을 찾는 데 어려움이있었습니다. 내가 찾은 것을 나눈다. 특히셀레늄은 JQuery에 dom 요소를 전달하고 결과를 C#
:
- 어떻게 JQuery와에 C에서 # IWebElements을 통과?
- javascipt의 결과에서 개체 배열을 C#으로 가져 오는 방법은 무엇입니까?
으로 가져옵니다. 그래서 JQuery를 사용하여 물건을 검색하고 셀레늄 C#으로 다시 전달하는 방법을 찾는 데 어려움이있었습니다. 내가 찾은 것을 나눈다. 특히셀레늄은 JQuery에 dom 요소를 전달하고 결과를 C#
:
여기에 내 자신의 질문에 대답 : 당신은 자바 스크립트에 webElements을 통과 arguments
를 통해 액세스 할 수 있습니다
.
결과를 다시 C#으로 가져 오려면 <IReadOnlyCollection<IWebElement>>
으로 캐스트해야합니다. 단일 요소의 경우 IWebElement
을 사용하십시오. 여러 결과에 대한 한 가지 트릭은 객체 대신 실제 배열을 반환하도록 toArray
을 JQuery 결과에 호출해야한다는 것입니다.
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);