2014-10-10 2 views
4

Firefox 브라우저를 사용하여 셀렌에서 작업하고 있습니다.Selenium WebDriver에서 요소 코드 검사 방법

소스보기 (CTRL + U)에 표시된 HTML 코드는 Firefox에서 요소를 검사 할 때 볼 수있는 html 코드와 다릅니다.

driver.getPageSource()을 실행하면보기 소스 (CTRL + U) 코드 만 표시됩니다.

대신을 검사하면 소스 코드가 표시됩니까?

+0

가능한 중복 [가져 오기 셀레늄 WebDriver에 WebElement의 HTML 소스 (파이썬)] (http://stackoverflow.com/questions/7263824/get-html-source-of-webelement-in-selenium-webdriver -python) – alecxe

+0

"다르다"어떻게? – SiKing

답변

3

질문에 대한 답변은 here으로 생각됩니다.

원본보기 html은 서버에서 보낸 것입니다. 나는 컴파일 타임 HTML이나 DOM의 초기 상태라고 생각한다.

Inspect Element html은 ajax 응답 또는 javascript로 업데이트되었을 수 있으므로 반드시 동일하지는 않습니다. 나는 그것을 런타임 HTML 또는 DOM의 현재 상태로 생각한다.

GetAttribute() 메서드는 현재 DOM 요소 상태를 쿼리합니다. 특정 html 속성 값을 직접 반환 할 수 있습니다.

webElement.GetAttribute("class") 

또는 전체 HTML 문자열을 가져올 수 있습니다. 의

webElement.GetAttribute("innerHTML") 
+0

'webElement'가 동적으로 생성되고 DOM (inspect 요소)에 있지만 소스가 아닌 경우 어떻게됩니까? 요소 자체에 어떻게 접근 할 수 있습니까? – user1002119

+1

아무런 차이가 없어야합니다. GetAttribute() 메서드는 DOM에있는 모든 요소와 함께 작동합니다. HTML은 DOM을 설명하는 언어이므로 현재 HTML은 현재 DOM이 무엇인지 알려줍니다. 나는 그것을 반영하기 위해 답을 편집했다. –

관련 문제