欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Selenium參數(shù)配置方法解析

 更新時間:2020年01月19日 14:40:06   作者:cknds  
這篇文章主要介紹了Python Selenium參數(shù)配置方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了Python Selenium參數(shù)配置方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

selenium.獲取瀏覽器大小、設(shè)置瀏覽器位置、最大化瀏覽器

get_window_size()     獲取瀏覽器大小

# 將窗口大小實(shí)例化
size_Dict = driver.get_window_size()
# 打印瀏覽器的寬和高
print("當(dāng)前瀏覽器的寬:", size_Dict['width'])
print("當(dāng)前瀏覽器的高:", size_Dict['height'])

set_window_size()     設(shè)置瀏覽器大小

driver.set_window_size(width=500, height=500, windowHandle="current")

get_window_position()    獲取瀏覽器在屏幕上的坐標(biāo)

# 將窗口位置實(shí)例化
position = driver.get_window_position()
# 打印窗口坐標(biāo)
print(position)
print("瀏覽器所在位置的橫坐標(biāo):", position["x"])
print("瀏覽器所在位置的縱坐標(biāo):", position["y"])

set_window_position()    設(shè)置瀏覽器在屏幕的位置

# 設(shè)置窗口位置并打印位置坐標(biāo)
driver.set_window_position(x=100, y=200)
print(driver.get_window_position())

maximize_window()    最大化瀏覽器

# 最大化瀏覽器并輸出瀏覽器的大小和位置坐標(biāo)
driver.maximize_window()
print(driver.get_window_size())
print(driver.get_window_position())

Selenium中的“顯式等待”和“隱式等待”

顯式等待(常用)

顯式等待的代碼定義了等待條件,只有該條件觸發(fā),才執(zhí)行后續(xù)代碼。下面代碼最多等待 10 秒,超時后就拋出 TimeoutException。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Firefox()driver.get("http://somedomain/url_that_delays_loading")
try:  
  element = WebDriverWait(driver, 10).until(     
    EC.presence_of_element_located((By.ID, "myDynamicElement")))
finally:
  # 等待后執(zhí)行的代碼
  # driver.quit()

隱式等待

隱式等待是在嘗試發(fā)現(xiàn)某個元素的時候,如果沒能立刻發(fā)現(xiàn),就等待固定長度的時間。默認(rèn)設(shè)置是0秒。一旦設(shè)置了隱式等待時間,它的作用范圍就是Webdriver對象實(shí)例的整個生命周期。

from selenium import webdriver

driver = webdriver.Firefox()
driver.implicitly_wait(10) # seconds
driver.get("http://somedomain/url_that_delays_loading")
myDynamicElement = driver.find_element_by_id("myDynamicElement")

Selenium+Chrome參數(shù)配置

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 實(shí)例化一個啟動參數(shù)對象
chrome_options = Options()
# 無界面運(yùn)行(無窗口)
chrome_options.add_argument('--headless')
# 啟動瀏覽器
driver = webdriver.Chrome(chrome_options=chrome_options)
# 請求百度首頁
driver.get('http://www.baidu.com')

其中的 –headless 就是一個啟動項(xiàng)參數(shù)

常用的啟動項(xiàng)參數(shù)如下所示

  • –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 隱身模式啟動
  • –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 單進(jìn)程運(yùn)行
  • –process-per-tab 每個標(biāo)簽使用單獨(dú)進(jìn)程
  • –process-per-site 每個站點(diǎn)使用單獨(dú)進(jìn)程
  • –in-process-plugins 插件不啟用單獨(dú)進(jìn)程
  • –disable-popup-blocking 禁用彈出攔截
  • –disable-plugins 禁用插件
  • –disable-images 禁用圖像
  • –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 啟用書簽同步
  • –single-process 單進(jìn)程運(yùn)行Google Chrome
  • –start-maximized 啟動Google Chrome就最大化
  • –disable-java 禁止Java

Selenium+Chrome模擬移動設(shè)備

# 通過設(shè)置user-agent,用來模擬移動設(shè)備
# 比如模擬 android QQ瀏覽器
options.add_argument('user-agent="MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"')

# 模擬iPhone 6
options.add_argument('user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"')

Selenium+Chrome禁止圖片加載的參數(shù)配置

# 禁止圖片的加載
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • keras打印loss對權(quán)重的導(dǎo)數(shù)方式

    keras打印loss對權(quán)重的導(dǎo)數(shù)方式

    這篇文章主要介紹了keras打印loss對權(quán)重的導(dǎo)數(shù)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • VS Code配置Anaconda Python環(huán)境的詳細(xì)教程

    VS Code配置Anaconda Python環(huán)境的詳細(xì)教程

    在 Visual Studio Code (VS Code) 中可以使用 Anaconda 環(huán)境進(jìn)行 Python 開發(fā),可以充分利用 Anaconda 提供的包管理和虛擬環(huán)境功能,同時享受 VS Code 提供的強(qiáng)大開發(fā)工具和調(diào)試功能,本文主要介紹了VS Code配置Anaconda Python環(huán)境的詳細(xì)教程,需要的朋友可以參考下
    2024-09-09
  • Python根據(jù)服務(wù)獲取端口號的方法

    Python根據(jù)服務(wù)獲取端口號的方法

    這篇文章主要介紹了Python根據(jù)服務(wù)獲取端口號,文中給大家提到了linux查看端口開啟端口的方法,需要的朋友可以參考下
    2019-09-09
  • python實(shí)現(xiàn)五子棋游戲

    python實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • python星號(*)和雙星號(**)?函數(shù)動態(tài)參數(shù)匹配及解包操作方法

    python星號(*)和雙星號(**)?函數(shù)動態(tài)參數(shù)匹配及解包操作方法

    這篇文章主要介紹了python星號(*)和雙星號(**)?函數(shù)動態(tài)參數(shù)匹配及解包操作,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • python3.5基于TCP實(shí)現(xiàn)文件傳輸

    python3.5基于TCP實(shí)現(xiàn)文件傳輸

    這篇文章主要為大家詳細(xì)介紹了python3.5基于TCP實(shí)現(xiàn)文件傳輸?shù)拇a,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python 遍歷子文件和所有子文件夾的代碼實(shí)例

    Python 遍歷子文件和所有子文件夾的代碼實(shí)例

    本篇文章主要介紹了Python 遍歷子文件和所有子文件夾的代碼實(shí)例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • python使用selenium爬蟲知乎的方法示例

    python使用selenium爬蟲知乎的方法示例

    這篇文章主要介紹了python使用selenium爬蟲知乎的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 解決Jupyter Notebook開始菜單欄Anaconda下消失的問題

    解決Jupyter Notebook開始菜單欄Anaconda下消失的問題

    這篇文章主要介紹了解決Jupyter Notebook開始菜單欄Anaconda下消失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 淺談pytorch中的dropout的概率p

    淺談pytorch中的dropout的概率p

    這篇文章主要介紹了淺談pytorch中的dropout的概率p,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05

最新評論