2017-01-13 4 views
0

엘리먼트가 페이지와 HTML에 존재하더라도 FindElement 메소드가 아무것도 반환하지 않게하는 것은 무엇인지 궁금합니다. 때때로 코드에서 Assert.AreEqual 메서드가있을 때마다이 문제가 발생합니다.Selenium : FindElement로 인해 아무것도 반환되지 않는 이유는 무엇입니까?

Assert.AreEqual(stringValue, FindElement(By.XPath("<XPath path>")).Text); 

을 그리고 오류 메시지가 다시 값이 없었다처럼 FindElement는 "<>"로 돌아왔다 말하는 온다 :

내 일반적으로 다음과 같이 주장한다. 내 스크립트가 너무 빨라서 건너 뛰거나 다른 밑줄 문제가있을 수 있습니까?

답변

1

웹 페이지의이 텍스트가 실제로 innerHTML로 저장되지 않았을 때 발생할 수 있습니다. 요소의 value 속성에있을 수 있으며 Text 메서드를 사용할 때 innerHTML 만 나오면 비어있는 것처럼 보입니다. GetAttribute를 사용하여 요소를 검사하여이 텍스트의 저장 방법을 찾습니다.

희망 귀하의 문제를 올바르게 이해했습니다. : D

+0

네, 맞습니다. 다음 번에이 문제가 내 테스트 중에 나타납니다. 설명해 주셔서 감사합니다. – Tscott

+0

도와 드리겠습니다. 응답을 수락/upvote 할 수 있으므로 커뮤니티는 더 쉽게 볼 수 있고 그 혜택을 누릴 수 있습니다. – acikojevic

+0

tscott 일종의 디버그로 먼저 var로 가져 와서 얻는 것을 볼 수 있습니다. var value = FindElement (By.XPath ("")). 텍스트); – Dazed