chrome 瀏覽器 啟動相關(guān)
chrome無頭啟動
>>> 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的地址欄命令(這些命令會不停的變動,所有不一定都是好用的)
在Chrome的瀏覽器地址欄中輸入以下命令,就會返回相應(yīng)的結(jié)果。這些命令包括查看內(nèi)存狀態(tài),瀏覽器狀態(tài),網(wǎng)絡(luò)狀態(tài),DNS服務(wù)器狀態(tài),插件緩存等等。
about:version - 顯示當(dāng)前版本
about:memory - 顯示本機瀏覽器內(nèi)存使用狀況
about:plugins - 顯示已安裝插件
about:histograms - 顯示歷史記錄
about:dns - 顯示DNS狀態(tài)
about:cache - 顯示緩存頁面
about:gpu -是否有硬件加速
about:flags -開啟一些插件 //使用后彈出這么些東西:“請小心,這些實驗可能有風(fēng)險”,不知會不會搞亂俺的配置??!
chrome://extensions/ - 查看已經(jīng)安裝的擴展
disable-infobars 去掉 那個煩人的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")
**完整谷歌瀏覽器啟動配置**
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ù)及簡要的中文說明(使用方法同上,當(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),第一次運行
–incognito 隱身模式啟動
–disable-javascript 禁用Javascript
--omnibox-popup-count="num" 將地址欄彈出的提示菜單數(shù)量改為num個。我都改為15個了。
--user-agent="xxxxxxxx" 修改HTTP請求頭部的Agent字符串,可以通過about:version頁面查看修改效果
--disable-plugins 禁止加載所有插件,可以增加速度??梢酝ㄟ^about:plugins頁面查看效果
--disable-javascript 禁用JavaScript,如果覺得速度慢在加上這個
--disable-java 禁用java
--start-maximized 啟動就最大化
--no-sandbox 取消沙盒模式
--single-process 單進程運行
--process-per-tab 每個標(biāo)簽使用單獨進程
--process-per-site 每個站點使用單獨進程
--in-process-plugins 插件不啟用單獨進程
--disable-popup-blocking 禁用彈出攔截
--disable-plugins 禁用插件
--disable-images 禁用圖像
--incognito 啟動進入隱身模式
--enable-udd-profiles 啟用賬戶切換菜單
--proxy-pac-url 使用pac代理 [via 1/2]
--lang=zh-CN 設(shè)置語言為簡體中文
--disk-cache-dir 自定義緩存目錄
--disk-cache-size 自定義緩存最大值(單位byte)
--media-cache-size 自定義多媒體緩存最大值(單位byte)
--bookmark-menu 在工具 欄增加一個書簽按鈕
--enable-sync 啟用書簽同步
2.獲取元素坐標(biāo)
方法:location
解釋:首先查找到你要獲取元素的,然后調(diào)用location方法
實例:
driver.find_element_by_xpath("http://*[@id='tablechart']/tbody/tr[14]/td[9]").location
3.表單的提交
方法:submit
解釋:查找到表單(from)直接調(diào)用submit即可
實例:
driver.find_element_by_id("form1").submit()
4.獲取CSS的屬性值
方法:value_of_css_property(css_name)
實例:
driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")
5.獲取元素的屬性值
方法:get_attribute(element_name)
實例:
driver.find_element_by_id("sellaiyuan").get_attribute("sellaiyuan")
6.判斷元素是否被選中
方法:is_selected()
實例:
driver.find_element_by_id("form1").is_selected()
7.返回元素的大小
方法:size
實例:
driver.find_element_by_id("iptPassword").size
返回值:{'width': 250, 'height': 30}
8.判斷元素是否顯示
方法:is_displayed()
實例:
driver.find_element_by_id("iptPassword").is_displayed()
9.判斷元素是否被使用
方法:is_enabled()
實例:
driver.find_element_by_id("iptPassword").is_enabled()
10.獲取元素的文本值
方法:text
實例:driver.find_element_by_id("iptUsername").text
11.元素賦值
方法:send_keys(*values)
實例:
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
實例:
driver.find_element_by_id("iptUsername").tag_name
13.刪除瀏覽器所以的cookies
方法:delete_all_cookies()
實例:
driver.delete_all_cookies()
14.刪除指定的cookie
方法:delete_cookie(name)
實例:deriver.delete_cookie("my_cookie_name")
15.關(guān)閉瀏覽器
方法:close()
實例:driver.close()
16.關(guān)閉瀏覽器并且推出驅(qū)動程序
方法:quit()
實例:driver.quit()
17.返回上一頁
方法:back()
實例:driver.back()
18.設(shè)置等待超時
方法:implicitly_wait(wait_time)
實例:driver.implicitly_wait(30)
19.瀏覽器窗口最大化
方法:maximize_window()
實例:driver.maximize_window()
20.查看瀏覽器的名字
方法:name
實例:drvier.name
21.將元素滾動到視頻可以顯示的位置,再返回元素的相對坐標(biāo)(貌似不是這樣的需要)
element.location_once_scrolled_into_view
isEnable用于存儲input、select等元素的可編輯狀態(tài),可以編輯返回true,否則返回false
isDisplayed()這個有點陌生,在大神寫的腳本看到幾次不知道何用意先不管,本身這個函數(shù)用于判斷某個元素是否存在頁面上(這里的存在不是肉眼看到的存在,而是html代碼的存在。某些情況元素的visibility為hidden或者display屬性為none,我們在頁面看不到但是實際是存在頁面的一些元素)
isSelected(),很顯然,這個是判斷某個元素是否被選中