1. 程式人生 > >Python3 Selenium WebDriver網頁的前進、後退、重新整理、最大化、獲取視窗位置、設定視窗大小、獲取頁面title、獲取網頁原始碼、獲取Url等基本操作

Python3 Selenium WebDriver網頁的前進、後退、重新整理、最大化、獲取視窗位置、設定視窗大小、獲取頁面title、獲取網頁原始碼、獲取Url等基本操作

Python3 Selenium WebDriver網頁的前進、後退、重新整理、最大化、獲取視窗位置、設定視窗大小、獲取頁面title、獲取網頁原始碼、獲取Url等基本操作

通過selenium webdriver操作網頁前進、後退、重新整理、最大化、獲取視窗位置、設定視窗大小、獲取頁面title、獲取網頁原始碼、獲取Url等基本操作:

from selenium import webdriver
#開啟瀏覽器
driver = webdriver.Ie(executable_path = "e:\\IEDriverServer")  
#輸入網址
driver.get("http://wenku.baidu.com
") #向後退 driver.back() #向前進 driver.forward() #重新整理頁面 driver.refresh() #設定超時等待的時間,超過不再等待 driver.set_page_load_timeout(2) #捕獲超時異常 try: driver.get("http://www.sohu.com") except Exception as e: print(e) #視窗最大化 driver.maximize_window() #獲取座標位置{'y': -8, 'x': 1672} driver.get_window_position()
#判斷使用的瀏覽器u'internet explorer' driver.name #設定瀏覽器座標 driver.set_window_position(y=200, x=400) #y:指的上下走,螢幕最頂部y=0 ;x:指的左右走 ,最左邊x=0,不再當前螢幕的會出現負數 #瀏覽器最大化的狀態再去設定座標就不起作用了 driver.get_window_position()['x'] #獲取x軸的位置 driver.get_window_position()['y'] #獲取y軸的位置 #獲取瀏覽器的窗體大小{'width': 160, 'height': 32} driver.get_window_size()
#獲取瀏覽器的寬度 driver.get_window_size()['width'] #獲取瀏覽器的高度 driver.get_window_size()['height'] #設定瀏覽器的窗體大小 driver.set_window_size(100,200) print(driver.title #獲取頁面title,可以用於做斷言看開啟的頁面對不對搜狐) assert u"搜狐" == driver.title #斷言標題是否正確 assert u"搜狐2" == driver.title #斷言標題出錯 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError driver.page_source() #獲取網頁原始碼,返回的其實是unicode字串 #抓取頁面原始碼時,webdriver可以觸犯頁面上的js動態資料,但是它的缺點是比較慢;之前講過的 #request抓取原始碼快,但只適用於靜態頁面,無法抓取js的動態頁面內容 #抓取原始碼是非常重要的,可以隨意操作 driver = webdriver.Ie(executable_path = "e:\\IEDriverServer") driver.get("http://www.iciba.com") driver.page_source[:50] #獲取第50行的頁面原始碼 u'<html><head><style></style><avalon class="avalonHi' u"熱門詞彙" in driver.page_source #判斷指定欄位是不是在頁面原始碼中存在True #將頁面原始碼轉碼成中文,加ignore避免無法識別的生僻字報錯 driver.page_source.encode("gbk","ignore") #將頁面原始碼轉成html檔案 html=driver.page_source.encode("gbk","ignore") #獲取當前頁面的url u'http://www.iciba.com/ driver.current_url