seleniumpython滾動
㈠ 從零開始學python爬蟲(八):selenium提取數據和其他使用方法
知識點:
知識點:了解 driver對象的常用屬性和方法
注意:最新版本的selenium已經取消了這種格式,取而代之的是:
你要先導入:
然後再:
知識點:掌握 driver對象定位標簽元素獲取標簽對象的方法
代碼實現,如下,獲取騰訊新聞首頁的新聞標簽的內容。
知識點:掌握 元素對象的操作方法
參考代碼示例:
知識點:掌握 selenium控制標簽頁的切換
知識點:掌握 selenium控制frame標簽的切換
知識點:掌握 利用selenium獲取cookie的方法
知識點:掌握 selenium控制瀏覽器執行js代碼的方法
知識點:掌握 手動實現頁面等待
知識點:掌握 selenium開啟無界面模式
知識點:了解 selenium使用代理ip
知識點:了解 selenium替換user-agent
㈡ python和selenium怎麼判斷進度條
phython:
首先利用pip快速安裝第三方庫,tqdm
使用tqdm的函數之前需要導入qdm庫
在tqdm的應用中,直接在for結構上,添加一個tdqm()即可。
執行上一步的操作,就可以觀察到進度條。
selenium:
拿到瀏覽器滾動條的js代碼,然後執行,就可以看到進度條
.通過模擬鍵盤的形式去滾動屏幕,就可以看到進度條
其中通過 driver.execute_script()執行js代碼時,可以用兩個語法,語法:scrollBy(x,y)和語法:scrollBy(x,y
㈢ 關於Python的Selenium框架全解,一篇完整的說明書
目錄
安裝 selenium 第三方庫
下載瀏覽器驅動:
需要把這些瀏覽器驅動放入 Python 應用目錄裡面的 Script 文件夾裡面
① 200 多本 Python 電子書(和經典的書籍)應該有
② Python標准庫資料(最全中文版)
③ 項目源碼(四五十個有趣且可靠的練手項目及源碼)
④ Python基礎入門、爬蟲、網路開發、大數據分析方面的視頻(適合小白學習)
⑤ Python學習路線圖(告別不入流的學習)
私信我01即可獲取大量Python學習資源
每次當selenium啟動chrome瀏覽器的時候,chrome瀏覽器很乾凈,沒有插件、沒有收藏、沒有 歷史 記錄,這是因為selenium在啟動chrome時為了保證最快的運行效率,啟動了一個裸瀏覽器,這就是為什麼需要配置參數的原因,但是有些時候我們需要的不僅是一個裸瀏覽器
selenium啟動配置參數接收是ChromeOptions類,創建方式如下 :
創建了ChromeOptions類之後就是添加參數,添加參數有幾個特定的方法,分別對應添加不同類型的配置項目
常用配置參數:
其他配置項目參數
製作無頭瀏覽器
規避檢測
門戶網站檢測如果是selenium請求的,有可能會拒絕訪問。這也是一種反爬機制
實現規避檢測
注意:這里只能使用 options 添加
如果有其他的模塊要添加,注意要分開添加
元素定位語法
常用語法:
在 element 變成 elements 時,返回符合條件的所有元素組成的數組
控制瀏覽器大小
瀏覽器後退,前進
刷新
在搜索框模擬回車操作
在 WebDriver 中, 將這些關於滑鼠操作的方法封裝在 ActionChains 類提供
ActionChains 類提供了滑鼠操作的常用方法:
語法:
想使用selenium中的鍵盤事件,首先我們必須導入Keys包,需要注意的是包名稱Keys首字母需要大寫。Keys類中提供了幾乎所有的鍵盤事件包括組合按鍵如 Ctrl+A、 Ctrl+C 等
使用語法:
其他事件可以通過查看源碼獲取
顯式等待使WebdDriver等待某個條件成立時繼續執行,否則在達到最大時長時拋出超時異常
實例:
WebDriverWait類是由WebDirver 提供的等待方法。在設置時間內,默認每隔一段時間檢測一次當前頁面元素是否存在,如果超過設置時間檢測不到則拋出異常
語法:
參數:
如果某些元素不是立即可用的,隱式等待是告訴WebDriver去等待一定的時間後去查找元素。 默認等待時間是0秒,一旦設置該值,隱式等待是設置該WebDriver的實例的生命周期
案例
語法:
alert 裡面的方法
WebDriver操作cookie的方法:
參考鏈接: https://www.jianshu.com/p/773c58406bdb
與普通的在headers里添加 {'Cookies':' '} 不一樣的是,此方法需要按照cookie的name,value,path,domain格式逐個cookie添加
通過execute_script()方法執行JavaScripts代碼來移動滾動條的位置