내가 페이지로스크롤 웹 페이지 사용 셀레늄 파이썬 webdriver
URL을 스크롤 한 사용자를로드 사용자 이름이 웹 페이지 긁어하고이에 "http://www.quora.com/Kevin-Rose/followers는"
내가 페이지에있는 사용자의 수를 알고를 (사례 번호는 43812입니다. 모든 사용자가로드 될 때까지 페이지를 스크롤하는 방법은 무엇입니까? 나는 인터넷에서 동일한 검색 및 사방이되는 그 일에 대한 코드의 거의 같은 라인을 가지고있다 :driver.execute_script ("window.scrollTo (0)")
어떻게 할 수 내가 모든 사용자가로드되었는지 확인하기 위해 수직 위치를 결정 하시겠습니까? 실제로 스크롤하지 않고 동일한 것을 달성하는 다른 옵션이 있습니까?
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import urllib
driver = webdriver.Firefox()
driver.get('http://www.quora.com/')
time.sleep(10)
wait = WebDriverWait(driver, 10)
form = driver.find_element_by_class_name('regular_login')
time.sleep(10)
#add explicit wait
username = form.find_element_by_name('email')
time.sleep(10)
#add explicit wait
username.send_keys('[email protected]')
time.sleep(30)
#add explicit wait
password = form.find_element_by_name('password')
time.sleep(30)
#add explicit wait
password.send_keys('def')
#add explicit wait
password.send_keys(Keys.RETURN)
time.sleep(30)
#search = driver.find_element_by_name('search_input')
search = wait.until(EC.presence_of_element_located((By.XPATH, "//form[@name='search_form']//input[@name='search_input']")))
search.clear()
search.send_keys('Kevin Rose')
search.send_keys(Keys.RETURN)
link = wait.until(EC.presence_of_element_located((By.LINK_TEXT, "Kevin Rose")))
link.click()
#Wait till the element is loaded (Asynchronusly loaded webpage)
handle = driver.window_handles
driver.switch_to.window(handle[1])
#switch to new window
element = WebDriverWait(driver, 2).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Followers")))
element.click()
확실한 옵션이 있습니다. 지금 가지고있는 전체 코드를 표시하십시오 (스크롤 부분 포함). 감사. – alecxe
그 어떤 용도로 생각하지 않지만 코드를 추가했습니다. 이것은 사이트에 로그인하여 특정 페이지로 이동하는 코드 일뿐입니다. y 좌표 위치에 무엇을 추가 할 지 모릅니다. – Siddhesh