chrome 瀏覽器 啟動(dòng)相關(guān)
chrome無(wú)頭啟動(dòng)
>>> from selenium.webdriver.chrome.options import Options
>>> chrome_options=Options()
>>> chrome_options.add_argument("--headless")
>>> chrome_options.add_argument("--disable-gpu")
>>> dr=webdriver.Chrome(chrome_options=chrome_options)
>>> dr.maximize_window() #需要自行設(shè)置窗口大小否則自由(600*800)
>>> chrome_options.add_argument("--lang=zh-CN")
一些Chrome的地址欄命令(這些命令會(huì)不停的變動(dòng),所有不一定都是好用的)
在Chrome的瀏覽器地址欄中輸入以下命令,就會(huì)返回相應(yīng)的結(jié)果夺谁。這些命令包括查看內(nèi)存狀態(tài)碧磅,瀏覽器狀態(tài),網(wǎng)絡(luò)狀態(tài)辽慕,DNS服務(wù)器狀態(tài)京腥,插件緩存等等。
about:version - 顯示當(dāng)前版本
about:memory - 顯示本機(jī)瀏覽器內(nèi)存使用狀況
about:plugins - 顯示已安裝插件
about:histograms - 顯示歷史記錄
about:dns - 顯示DNS狀態(tài)
about:cache - 顯示緩存頁(yè)面
about:gpu -是否有硬件加速
about:flags -開啟一些插件 //使用后彈出這么些東西:“請(qǐng)小心溅蛉,這些實(shí)驗(yàn)可能有風(fēng)險(xiǎn)”公浪,不知會(huì)不會(huì)搞亂俺的配置啊船侧!
chrome://extensions/ - 查看已經(jīng)安裝的擴(kuò)展
disable-infobars 去掉 那個(gè)煩人的chrome正在接受xxxx
>>> from selenium import webdriver
>>> option = webdriver.ChromeOptions()
>>> options.add_experimental_option("excludeSwitches", ['enable-automation'])
>>> driver = webdriver.Chrome(chrome_options=option)
>>> dr.get("https://www.baidu.com")
**完整谷歌瀏覽器啟動(dòng)配置**
https://peter.sh/experiments/chromium-command-line-switches/
http://web.jobbole.com/84848/?utm_source=blog.jobbole.com&utm_medium=relatedPosts
其他的一些關(guān)于Chrome的實(shí)用參數(shù)及簡(jiǎn)要的中文說(shuō)明(使用方法同上欠气,當(dāng)然也可以在shell中使用)
–user-data-dir=”[PATH]” 指定用戶文件夾User Data路徑,可以把書簽這樣的用戶數(shù)據(jù)保存在系統(tǒng)分區(qū)以外的分區(qū)镜撩。
–disk-cache-dir=”[PATH]“ 指定緩存Cache路徑
–disk-cache-size= 指定Cache大小预柒,單位Byte
–first run 重置到初始狀態(tài),第一次運(yùn)行
–incognito 隱身模式啟動(dòng)
–disable-javascript 禁用Javascript
--omnibox-popup-count="num" 將地址欄彈出的提示菜單數(shù)量改為num個(gè)袁梗。我都改為15個(gè)了宜鸯。
--user-agent="xxxxxxxx" 修改HTTP請(qǐng)求頭部的Agent字符串,可以通過(guò)about:version頁(yè)面查看修改效果
--disable-plugins 禁止加載所有插件围段,可以增加速度顾翼。可以通過(guò)about:plugins頁(yè)面查看效果
--disable-javascript 禁用JavaScript奈泪,如果覺得速度慢在加上這個(gè)
--disable-java 禁用java
--start-maximized 啟動(dòng)就最大化
--no-sandbox 取消沙盒模式
--single-process 單進(jìn)程運(yùn)行
--process-per-tab 每個(gè)標(biāo)簽使用單獨(dú)進(jìn)程
--process-per-site 每個(gè)站點(diǎn)使用單獨(dú)進(jìn)程
--in-process-plugins 插件不啟用單獨(dú)進(jìn)程
--disable-popup-blocking 禁用彈出攔截
--disable-plugins 禁用插件
--disable-images 禁用圖像
--incognito 啟動(dòng)進(jìn)入隱身模式
--enable-udd-profiles 啟用賬戶切換菜單
--proxy-pac-url 使用pac代理 [via 1/2]
--lang=zh-CN 設(shè)置語(yǔ)言為簡(jiǎn)體中文
--disk-cache-dir 自定義緩存目錄
--disk-cache-size 自定義緩存最大值(單位byte)
--media-cache-size 自定義多媒體緩存最大值(單位byte)
--bookmark-menu 在工具 欄增加一個(gè)書簽按鈕
--enable-sync 啟用書簽同步
2.獲取元素坐標(biāo)
方法:location
解釋:首先查找到你要獲取元素的适贸,然后調(diào)用location方法
實(shí)例:
driver.find_element_by_xpath("http://*[@id='tablechart']/tbody/tr[14]/td[9]").location
3.表單的提交
方法:submit
解釋:查找到表單(from)直接調(diào)用submit即可
實(shí)例:
driver.find_element_by_id("form1").submit()
4.獲取CSS的屬性值
方法:value_of_css_property(css_name)
實(shí)例:
driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")
5.獲取元素的屬性值
方法:get_attribute(element_name)
實(shí)例:
driver.find_element_by_id("sellaiyuan").get_attribute("sellaiyuan")
6.判斷元素是否被選中
方法:is_selected()
實(shí)例:
driver.find_element_by_id("form1").is_selected()
7.返回元素的大小
方法:size
實(shí)例:
driver.find_element_by_id("iptPassword").size
返回值:{'width': 250, 'height': 30}
8.判斷元素是否顯示
方法:is_displayed()
實(shí)例:
driver.find_element_by_id("iptPassword").is_displayed()
9.判斷元素是否被使用
方法:is_enabled()
實(shí)例:
driver.find_element_by_id("iptPassword").is_enabled()
10.獲取元素的文本值
方法:text
實(shí)例:driver.find_element_by_id("iptUsername").text
11.元素賦值
方法:send_keys(*values)
實(shí)例:
driver.find_element_by_id("iptUsername").send_keys('admin')
注意如果是函數(shù)需要增加轉(zhuǎn)義符u,eg.
driver.find_element_by_id("iptUsername").send_keys(u'青春')
12.返回元素的tagName
方法:tag_name
實(shí)例:
driver.find_element_by_id("iptUsername").tag_name
13.刪除瀏覽器所以的cookies
方法:delete_all_cookies()
實(shí)例:
driver.delete_all_cookies()
14.刪除指定的cookie
方法:delete_cookie(name)
實(shí)例:deriver.delete_cookie("my_cookie_name")
15.關(guān)閉瀏覽器
方法:close()
實(shí)例:driver.close()
16.關(guān)閉瀏覽器并且推出驅(qū)動(dòng)程序
方法:quit()
實(shí)例:driver.quit()
17.返回上一頁(yè)
方法:back()
實(shí)例:driver.back()
18.設(shè)置等待超時(shí)
方法:implicitly_wait(wait_time)
實(shí)例:driver.implicitly_wait(30)
19.瀏覽器窗口最大化
方法:maximize_window()
實(shí)例:driver.maximize_window()
20.查看瀏覽器的名字
方法:name
實(shí)例:drvier.name
21.將元素滾動(dòng)到視頻可以顯示的位置灸芳,再返回元素的相對(duì)坐標(biāo)(貌似不是這樣的需要)
element.location_once_scrolled_into_view
isEnable用于存儲(chǔ)input、select等元素的可編輯狀態(tài)拜姿,可以編輯返回true烙样,否則返回false
isDisplayed()這個(gè)有點(diǎn)陌生,在大神寫的腳本看到幾次不知道何用意先不管蕊肥,本身這個(gè)函數(shù)用于判斷某個(gè)元素是否存在頁(yè)面上(這里的存在不是肉眼看到的存在谒获,而是html代碼的存在。某些情況元素的visibility為hidden或者display屬性為none壁却,我們?cè)陧?yè)面看不到但是實(shí)際是存在頁(yè)面的一些元素)
isSelected()批狱,很顯然,這個(gè)是判斷某個(gè)元素是否被選中