2012-08-03 3 views
-1

그래서 IWebDriver.PageSource있다 그러나 이것은 실제 소스하지만 일부 문자 이스케이프가있는 bastardisation 반환하지 을 수행IWebDriver로 실제 페이지 소스를 얻는 방법은 무엇입니까?

반환 된 페이지 소스가 기본 DOM의 표현이다 : 그것은 포맷 기대하지 않습니다 웹 서버에서 보낸 응답과 같은 방식으로 이스케이프 처리됩니다.

나는 IWebElement.GetAttribute("innerHTML")를 사용하여이 문제를 해결하려고 노력하지만 모든 자체 닫는 태그 (일반 HTML에서 닫는 태그를 생략 할 수있는) 열기 태그로 전환 된이 경우, 실제 HTML 코드가 아닙니다 , 예. <link ... /><link ... >입니다. 이전에는 유효한 XHTML 문서를 유효하지 않게 만들면 좋지 않습니다. 아마 ...

답변

1

아직도 내가 다소 간단한 솔루션을 기대하고 있지만, 지금 당장 인해 나쁜 인터페이스/프레임 워크 설계에 혼자 IWebDriver 불가능한 것, 당신은 수있는 자바 스크립트 함수/라인을 호출 할 수 있습니다 당신이 필요로하는 유일한 생각이라면, body 태그의 html을 돌려 보내라.

또한 javascript에는 전체 페이지 소스를 반환하는 함수가있을 수 있습니다.

+0

하지만 IWebDriver로 JS를 어떻게 호출할까요? –

+0

http://stackoverflow.com/questions/6229769/execute-javascript-using-selenium-webdriver-in-c-sharp – iMatoria

+0

해당 링크를 보내 주셔서 감사합니다. body 태그가 아닌데도 시간이 좀 걸릴 것입니다. 충분히, JS에서 너무 어려울 것 같은 전체 페이지가 필요합니다. –

관련 문제