2017-10-09 7 views
0
from splinter import Browser 
from splinter.exceptions import ElementDoesNotExist 
from selenium import webdriver 
from selenium.common.exceptions import WebDriverException 

browser.find_by_tag('body').text 

browser.visit(str('http://ariismits.com/contact-us')) 
a = browser.find_by_tag('body').text 
print a 

그냥 메뉴를 ... 반환왜이 Python Splinter 호출이 모든 본문 텍스트를 반환하지 않습니까?

"u'HOME | 철학 | 포트폴리오 | 우리가하는 일 | 블로그 | 사용 \ nReport지도 오류의 NMAP 데이터 \의 xa92017 구글 \ nTerms \ 연락 \ NMAP \ nSatellite \ n \ n \ n \ n \ n \ nAriiSmits'u'HOME | PHILOSOPHY | PORTFOLIO | 우리가하는 일 | 블로그 | 연락처 \ n 데이터 맵 \ xa92017 Google \ n 이용 약관 \ n지도 오류보고 \ n 위성 \ n 위성 \ nAriiSmits '는 "

...하지만 페이지를 방문 할 때, 내가 전화 번호, 이메일 주소 등을 볼 수는

왜 그쪽으로 n \ n \ n \ n \ n \ n \ 아니다 응답에 포함시키지 마십시오?

답변

0

해결책을 찾았습니다. 대답은 코드가 실행될 때 텍스트가 사람의 사용자에게 표시되어야한다는 것입니다. 이 웹 사이트는 반응 형 디자인이었고 창문이 작을 때 찾고 있던 텍스트가 보이지 않았습니다. 그래서 달렸을 때

browser.find_by_tag('body').text 

Splinter는 본문을 보지 못했습니다. 찾고 있던 텍스트가 HTML에 있었지만 (반응 형 디자인으로 인해) 화면에 표시되지 않았기 때문에 Splinter (및 Selenium도 이와 같이 작동합니다)는 텍스트를 캡처하지 않았습니다. 내 경우

이 ....

browser = Browser('chrome') 
browser.visit('http://ariismits.com/contact-us') 

그것은 절반 만 화면 내 노트북에 새 창을 시작합니다. 창을 최대화하고 "browser.find_by_tag ('body') .text를 다시 실행하면 원했던대로 작동했습니다. 크기 조정에 대한 자세한 내용은 (Manipulating browser (window) size using Splinter)을 참조하십시오.

다른 사람에게 시간을 절약하길 바랍니다. :-)