2016-08-04 7 views
0
url = correct_url(url) 
browser = webdriver.Chrome() 
browser.get(url) 
browser.find_element_by_xpath('//*[@title="New chat"]').click() 
drawer_body = browser.find_elements_by_class_name('drawer-body') 
browser.execute_script('arguments[0].scrollTop = arguments[0].scrollHeight', drawer_body) 

는 'DIV'요소를 가져 자바 스크립트 파이썬 셀레늄 스크롤,이 목록을 가지고 있으며,천천히

drawer_body = browser.find_elements_by_class_name ('서랍 몸')

스크롤됩니다

아래 줄은 매우 빠르게 스크롤하고 아래쪽에 도달하지만 데이터를로드하지 않습니다. drawer_body 요소로 천천히 스크롤 할 수있는 방법이 있습니까?

browser.execute_script ('인수 [0] .scrollTop = 인수 [0] .scrollHeight', drawer_body)

내가 파이썬과 셀레늄을 사용하여 아래 스크립트를 구현하기 위해 노력하고 있습니다. http://ctrlq.org/code/19966-whatsapp-phone-numbers

+0

'drawer_body' 요소로 스크롤하면 서버에 요청을 보내고 요청을 가져올 수 있습니다. 네트워크 탭을 열고 링크를 수동으로 요청하고 무슨 일이 일어나는 지 확인하십시오. URL을 제공하면이 URL을 볼 수 있습니다. –

+0

나는 당신이 의미하는 바를 얻지 못했습니다. web.whatsapp.com에서 스크롤하고 싶습니다. –

답변

1

대부분의 브라우저는 스페이스 바 키를 스크롤 할 때 페이지 바로 가기 키로 지원합니다. 이 기능을 사용하면 다음을 수행 할 수 있습니다

  1. 페이지 방문
  2. 더 많은 데이터까지 2~3초을 기다립니다 셀레늄
  3. 를 사용하여 지금까지
  4. 시뮬레이션 보도 스페이스 바를로드 무엇
  5. 구문 분석이
  6. 을로드
  7. 계속

또 하나의 힌트 : 영원히 멈추지 않으려면 새로로드 된 데이터가 켜져있는 것과 다른지 확인하십시오 e를 누르십시오. 그렇지 않으면 구문 분석 할 새 데이터가 없으므로 스크립트를 종료해야합니다.