? ? 今天寫爬蟲(chóng)時(shí),發(fā)現(xiàn)有一個(gè)table中的數(shù)據(jù)時(shí)需要拖動(dòng)滾動(dòng)條才能load出所有數(shù)據(jù)的,所以查閱了一些資料,總結(jié)一番教程。
方法一:
使用driver執(zhí)行js代碼,這個(gè)比較穩(wěn)妥,也很通用。
例如:
js = 'var q = document.getElementById("id_name")'.scrollTop=10000'
driver.execute_script(js)
注意:這個(gè)是默認(rèn)向下拖動(dòng),如果想向上拖動(dòng)的話,將值改為-10000即可
方法二:
根據(jù)頁(yè)面顯示進(jìn)行變通,發(fā)送tab鍵
在本例中的頁(yè)面中,密碼是輸入框,正常手工操作時(shí),可以通過(guò)tab鍵會(huì)切換到密碼框中,所以根據(jù)此思路,在python中也可以發(fā)送tab鍵來(lái)切換,使元素顯示
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id("id_login_method_0").send_keys(Keys.TAB)
方法三:
使用scrollBy(x,y)函數(shù)
driver.execute_script("window.scrollBy(0,10000)")
參數(shù)說(shuō)明:
x ? ?向右滾動(dòng)的像素值
y ? ?向下滾動(dòng)的像素值