1. 程式人生 > >python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

 

一. 呼叫Chrome瀏覽器

首先,假設通過Firefox()瀏覽器定向爬取CSDN首頁導航欄資訊,審查元素程式碼如下圖所示,在div class="menu"路徑的ul、li、a下,同時可以定位ul class="clearfix"。

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

 

 

程式碼如下所示:

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

 

 

然後轉換成chrome瀏覽器,只需要在

"C:Program Files (x86)GoogleChromeApplication"路徑下放置個chromedriver.exe驅動,再進行呼叫即可,程式碼如下所示:

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

 

 

執行結果如下圖所示:

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

 

 

二. 獲取當前控制代碼並切換視窗控制代碼

在使用Selenium爬取知識過程,通常會遇到_blank彈出新窗體,或窗體是彈出的那種情況,而且有的需要登入,如:新浪微博、微信公眾號、京東等,使用webdriver.Firefox()重新開啟新窗體是無法載入已有資訊的。這時候就需要通過獲取當前控制代碼再進行視窗切換。

這裡使用該方法實現獲取CSDN導航欄的每條導航的標題資訊,因為它是_blank彈出新窗體。需要注意每次視窗控制代碼移動都需要重新定位它們的主窗體。

核心程式碼:

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

 

 

如下圖所示:<a href="xxxx" target="_blank">極客頭條</a>

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

 

 

例項程式碼如下所示,它會依次開啟每個導航欄,在爬取關閉。

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

 

 

輸出結果如下所示:

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

 

 

PS:這段程式碼主要是讓你熟悉獲取當前窗體及切換窗體,真正爬蟲用到的時候是非常方便的,而且必須要使用。

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器

 

 

三. 一段程式碼 線上筆記

下面這段程式碼是我的線上筆記,由於程式碼非常有用,所以我隱藏了些東西,但絕對好用,而且是結合上面的內容。同時,在登入過程中,我建議大家time.sleep()函式暫停,輸入驗證碼、掃描二維碼都是可行的。

python爬蟲丨Selenium切換視窗控制代碼及呼叫Chrome瀏覽器