2017-01-14 11 views
2

질문을 게시 한 것은 이번이 처음입니다. 나는 3 일 동안 webdriver가 iFrame을 식별하는 방법을 알아 내려고 노력했습니다. SwitchTo 인스턴스가 더 가 없습니다 : 여기iFrame이 Selenium Webdriver를 식별하지 않습니다.

<iframe id="emailBodyIframe" class="" frameborder="0" src="about:blank" style="height: 151px;"> 
<html> 
<head> 
<body> 
<p>Dear Administrator,</p> 
Here is a passport number : XXXXXXX 
<span class="sv-b212-highlighting" style="background-color:#B9DFF5;">aba</span> 
#: 0000-0000-0 
<p>Regards,</p> 
<p>Local Archive</p> 
</body> 

제가 점점 오전 오류가

AttributeError입니다

FRAME = self.driver.find_element_by_tag_name("iframe").text 
self.driver.switch_to().frame(FRAME) 
body1 = self.driver.find_element_by_css_selector("span.sv-b212-highlighting").text 
print body1 
#self.driver.find_element_by_css_selector("span.sv-b212-highlighting").text 
#self.driver.switch_to.frame(highlight,self.driver.find_element_by_css_selector("iframe[id='emailBodyIframe']").text) 
  • 에러 제공되는 코드입니다 : 여기 내 html 코드입니다 방법

    • 내 질문은

    iFrame 내부에있는 강조 표시된 CSS를 식별하는 방법은 무엇입니까?

    이 웹 사이트에서 제공되는 다른 코드 예제와 몇 가지 다른 변형을 시도했습니다. 모두 다른 오류로 반환됩니다. 저는 파이썬에 익숙하지 않고 여전히 배우고 있습니다.

    누구든지 어떻게 할 수 있는지 알고 있습니까?

답변

0

FRAME 변수를 사용하는 경우 iframe에서 텍스트 만 가져 오면 웹 요소를 가져와야합니다. 다음 코드를 사용해보십시오 :

self.driver.switch_to_frame("emailBodyIframe") 
body1 = self.driver.find_element_by_css_selector("span.sv-b212-highlighting").text 
print body1 

당신이 요소를 처리하는 경우는 .text을 추가 할 필요가 없습니다. 웹 요소에서 텍스트 값을 가져 오는 데만 사용하십시오.

+0

감사합니다. Andersson. 불행히도, 그것은 작동하지 않았다. NoSuchElementException : 메시지 – Bubbles

+0

'body1 = self.driver.find_element_by_xpath ('// span [@class, "강조 표시"]'). 텍스트' – Andersson