2017-02-19 177 views
2

我正在爲使用硒蟒蛇並面臨問題的linkedin撰寫腳本。我想滾動對話框的窗口,但我的腳本開始在後面的滾動窗口。使用硒蟒蛇的滾動窗口

driver=webdriver.Chrome() 
driver.get('https://www.linkedin.com/uas/login?goback=&trk=hb_signin') 
driver.find_element_by_name('session_key').send_keys(email) 
time.sleep(2) 
driver.find_element_by_id('session_password-login').send_keys(password,Keys.RETURN) 
time.sleep(7) 
driver.get('https://www.linkedin.com/in/rickblack/skills/(ACoAAAC4aQcBoD2OHCmDN1Fe7n2dMtoVYkWTz4o,27)/') 
driver.switch_to.window(driver.window_handles[-1]) 
for o in range(0,5): 
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 
    time.sleep(1) 

Image

回答

3

您可以嘗試使用下面的代碼在一個列表來定義最後一個人,向下滾動到它:

the_last_in_list = driver.find_elements_by_xpath('//div[@class="pv-endorsement-entity__detail pl3')[-1] 
the_last_in_list.location_once_scrolled_into_view 

附:您可能需要這樣做幾次,因爲人員列表最初並不完整:您需要向下滾動以觸發XHR以添加(加載)更多人員...

P.P.S.請注意,driver.switch_to.window(driver.window_handles[-1])什麼也沒有,因爲沒有新的瀏覽器窗口打開,但只是在同一個瀏覽器窗口中的模式窗口

+0

感謝您的幫助 – Naeem