python 無頭模式_Python + Selenium(二十五)無頭模式 headless

所謂瀏覽器的無頭模式headless,就是瀏覽器在運行時處于后臺操作的模式,不會看到瀏覽器打開,也就不會干擾你手頭的工作。對于自動化測試和網絡爬蟲都有很大的價值。

早期我們使用 phantomJS 瀏覽器來實現這種模式,隨著 Chrome 和 Firefox 都加入了無頭模式, Selenium 逐漸停止對 phantomJS 的支持。

Chrome 的 headless

Chrome 的無頭模式,通過在打開瀏覽器前加入 --headless 參數配置即可實現。

from selenium import webdriver

from selenium.webdriver.chrome.options import Options # => 引入Chrome的配置

import time

# 配置

ch_options = Options()

ch_options.add_argument("--headless") # => 為Chrome配置無頭模式

# 在啟動瀏覽器時加入配置

driver = webdriver.Chrome(chrome_options=ch_options) # => 注意這里的參數

driver.get('http://baidu.com')

driver.find_element_by_id('kw').send_keys('測試')

driver.find_element_by_id('su').click()

time.sleep(2)

# 只有截圖才能看到效果咯

driver.save_screenshot('./ch.png')

driver.quit()

Firefox 的 headless

Firefox 瀏覽器的無頭模式配置與 Chrome 差不多,只是寫法有差異。

from selenium.webdriver.firefox.options import Options # => 引入Firefox配置

from selenium import webdriver

import time

# 配置瀏覽器

ff_options = Options()

ff_options.headless = True # => 設置無頭模式為 True

driver = webdriver.Firefox(firefox_options=ff_options) # => 注意這里的參數

driver.get('http://baidu.com')

driver.find_element_by_id('kw').send_keys('測試')

driver.find_element_by_id('su').click()

time.sleep(2)

# 截圖看效果

driver.save_screenshot('./ff.png')

driver.quit()

感受一下吧!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538647.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538647.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538647.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機函數兩個表格找相同,wps篩選出兩個表格中的重復項(countif 函數簡單使用)【已解決】...

假設,有以下兩個表格文件。為了掩飾,數據就幾個。AB兩個表格,現在要做的是從A表格中,去除跟B表格重復的內容,只保留剩余的數據。第一步,先把B表格中的 蔬菜名稱 那一列,復制到A表格中。(如果數據…

區分 JSON 字符串與JSON對象

(1)JSON 對象是滿足 JSON 數據格式的 JS 對象例如: {name:"abc"}最正規的 JSON 數據是連屬性名稱都要被包括起來的例如: {"name":"abc"}(2)JSON 格式的字符串的關鍵問題-- 它…

python常用正則表達式_Python3常用正則表達式

正則表達式速查表 字符 描述 \ 將下一個字符標記為一個特殊字符、或一個原義字符、或一個向后引用、或一個八進制轉義符。例如,“n“匹配字符”n“。”\n“匹配一個換行符。串行”\\“匹配”\“而”\(“則匹配”(“。 ^ 匹配輸入字符串的開始位置。如果設置了RegExp…

Spring Cloud 學習筆記(一) 之服務治理模塊Spring Cloud Eureka 搭建注冊中心

2019獨角獸企業重金招聘Python工程師標準>>> 關于springboot的學習請參考前面的文章 接下來我們會開啟一系列關于springcloud的學習文章。 一、概念 首先我們看下官方的解釋 Service Discovery is one of the key tenets of a microservice-based architecture. Try…

shell 進入hadoop_Hadoop關于HDFS的基本操作(Shell命令)

在這里我給大家繼續分享一些關于hdfs分布式文件的經驗哈,其中包括一些hdfs的基本的shell命令的操作,再加上hdfs java程序設計。在前面我已經寫了關于如何去搭建hadoop這樣一個大數據平臺,還沒搭好環境的童鞋可以轉到我寫的這篇文章hadoop在ub…

材料凝固計算機模擬,金屬基復合材料凝固過程計算機模擬Ⅲ.pdf

金屬基復合材料凝固過程計算機模擬Ⅲ,金屬基復合材料,金屬復合材料,金屬陶瓷復合材料,金屬基復合材料ppt,金屬基復合材料導論,無機非金屬基復合材料,雙金屬復合材料,金屬基陶瓷復合材料,金屬基復合材料的應用第 卷第 期"" $ 南方冶金學院學報 W;(#""VB;#$年…

java分治法求數列的最大子段和_同事為進大廠天天刷Java面試題,面試卻履敗!究其原因竟是它在搗鬼。...

寫在前面疫情過后,招聘與求職受影響到底有多大?我不知道,但我的真實感受是,即使有疫情的影響,最近還是持續有朋友來跟我說他們今年工作的新動向。有人跳槽去了大廠,有人下定決心出來創業,也有人…

中國移動wlan優化app-截圖

Nokia的wlan優化項目得到了中國移動省公司的認同,成為了重點項目,轉移了其他項目組開發。 我單獨負責開發Android端app。還沒開發完,源碼也移交了,不再繼續參與開發。 新任務是負責現有平臺從Oracle轉為大數據。截圖紀念下近半個…

soapui和cxf的卻別_根據wsdl文件用soapUi快速構建webService服務(有圖有真相)

最近公司業務上使用webservice 頻繁。由于之前都是自己建立webservice 自己定義提供幫對方服務,現在則相反需求都是根據人家提供的wsdl 文件來生成 我們系統必須提供的接口。剛起初不知道如何生成soapui調用wsdl需要安全驗證,為了一個webservice 服務&am…

linux軟件安裝管理

Linux軟件安裝管理 TonyLinux系統工程師難度初級 時長 3小時 6分 學習人數64016 綜合評分9.8收藏上面是linux 的源代碼安裝包 linux有兩種類型的軟件安裝方式: 1、源代碼安裝 這種方式的軟件安裝,可以指定軟件的安裝目錄,軟件的運行效率高&am…

ts語音自建服務器,自建TeamSpeak語音服務器,免費提供給專注游戲的玩家使用!...

先提一句,帶過節奏的云玩家 可以滾了!???以下內容更新于2020/5/22 15:30:?根據 洛杉磯湖人名宿孫悅 ?的提醒,不推薦下載ts1.cn的盜版客戶端,也不推薦俱樂部或者各位玩家租用ts1.cn的盜版服務器。具體可查看帖子 h…

hbase多master和動態添加節點

1、多個master節點。 在reginserver節點上使用命令: hbase-daemon.sh start master 在nbdo3機器上啟動主備后,查看nbdo3機器上master產生的日志: 2017-04-08 09:37:52,471 INFO [nbdo3:16000.activeMasterManager] master.ActiveMasterMa…

電子電器架構刷寫方案——General Flash Bootloader

電子電器架構刷寫方案——General Flash Bootloader 我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 注:文章1萬字左右,深度思考者入!!! 老規矩,分享一段喜歡的文字,避免…

python心理學實驗程序_心理學實驗程序編程(python)

任務一:實現簡單的屏幕的顏色之間的切換 importpygamefrom pygame.locals import *pygame.init() win pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE)for i in range(10): win.fill((0,255,0))if i%20: win.fill((255,0,0)) pygame.time.wait(500) pygame…

Java并發-ThreadLocal

原文地址:cmsblogs.com/?p2442 ThreadLocal介紹 ThreadLocal提供了一種解決多線程環境下成員變量的問題,但是它并不是解決多線程共享變量的問題。那么ThreadLocal到底是什么呢? API是這樣介紹的:This class provides thread-loca…

vue 監聽map數組變化_解決vue無法偵聽數組及對象屬性的變化問題

一、數組1、可以監聽到的情況如push、splice、賦值(array[1,2,3])2、無法監聽到的情況使用下標修改某個元素(這種比較常見)array[index] 1object.a 3直接修改數組lengtharray.length 53、解決方案this.$set(array, index, data) - 這是個深度的修改,某些情況下可…

哈維瑪德學院 計算機,這些美國大學名氣不高,卻有最頂級的工程專業

上一期我們盤點了有博士學位的Top50 大學工程專業排名今天我們繼續盤點 2018USNEWS 工程專業排名不過這個排名主要針對的是沒有博士學位的 Top50 大學和上一期那些大名鼎鼎的大學相比這里面很多大學并不怎么為人熟知因為這個榜單大部分都是區域性大學事實上,工程專業…

Hbase介紹

1、為什么出現hbase?hadoop 的NameNode適合大文件,不適合小文件。HDFS不適合大量小文件的存儲,因namenode將文件系統的元數據存放在內存中,因此存儲的文件數目受限于 namenode的內存大小。HDFS中每個文件、目錄、數據塊占用150Byt…

math 向上取整_自我說明:關于Math和File類的具體說明.

Math類:Math類,不允許有子類,它直接繼承于object.Math類包含執行基本數字運算的方法.如基本指數,對數,平方根和三角函數.Math的基本方法:System.out.pintln(“1.絕對值:”Math.abs(16)”t”Math.abs(-16)”…

眼圖 非差分線_LVDS低電壓差分信號簡介

LVDS低電壓差分信號簡介1. 名詞解釋1.1. 背景隨著數據傳輸速率越來越高,現在計算機系統中的數據傳輸接口基本上都串行化了,像USB、PCIe、SATA、DP等等外部總線將并行總線擠壓到只剩下內存總線這個最后的堡壘。當然,就算是并行傳輸總線最后的倔…