您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python Selenium參數配置方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
selenium.獲取瀏覽器大小、設置瀏覽器位置、最大化瀏覽器
get_window_size() 獲取瀏覽器大小
# 將窗口大小實例化 size_Dict = driver.get_window_size() # 打印瀏覽器的寬和高 print("當前瀏覽器的寬:", size_Dict['width']) print("當前瀏覽器的高:", size_Dict['height'])
set_window_size() 設置瀏覽器大小
driver.set_window_size(width=500, height=500, windowHandle="current")
get_window_position() 獲取瀏覽器在屏幕上的坐標
# 將窗口位置實例化 position = driver.get_window_position() # 打印窗口坐標 print(position) print("瀏覽器所在位置的橫坐標:", position["x"]) print("瀏覽器所在位置的縱坐標:", position["y"])
set_window_position() 設置瀏覽器在屏幕的位置
# 設置窗口位置并打印位置坐標 driver.set_window_position(x=100, y=200) print(driver.get_window_position())
maximize_window() 最大化瀏覽器
# 最大化瀏覽器并輸出瀏覽器的大小和位置坐標 driver.maximize_window() print(driver.get_window_size()) print(driver.get_window_position())
Selenium中的“顯式等待”和“隱式等待”
顯式等待(常用)
顯式等待的代碼定義了等待條件,只有該條件觸發,才執行后續代碼。下面代碼最多等待 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: # 等待后執行的代碼 # driver.quit()
隱式等待
隱式等待是在嘗試發現某個元素的時候,如果沒能立刻發現,就等待固定長度的時間。默認設置是0秒。一旦設置了隱式等待時間,它的作用范圍就是Webdriver對象實例的整個生命周期。
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參數配置
from selenium import webdriver from selenium.webdriver.chrome.options import Options # 實例化一個啟動參數對象 chrome_options = Options() # 無界面運行(無窗口) chrome_options.add_argument('--headless') # 啟動瀏覽器 driver = webdriver.Chrome(chrome_options=chrome_options) # 請求百度首頁 driver.get('http://www.baidu.com')
其中的 –headless 就是一個啟動項參數
常用的啟動項參數如下所示
Selenium+Chrome模擬移動設備
# 通過設置user-agent,用來模擬移動設備 # 比如模擬 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禁止圖片加載的參數配置
# 禁止圖片的加載 from selenium import webdriver chrome_options = webdriver.ChromeOptions() prefs = {"profile.managed_default_content_settings.images": 2} chrome_options.add_experimental_option("prefs", prefs)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。