Selenium Options CFG

1.配置Chrome瀏覽器的選項(xiàng)


options = webdriver.ChromeOptions()  # 創(chuàng)建配置對(duì)象
options.add_argument('lang=zh_CN.UTF-8')  # 設(shè)置中文
options.add_argument('--headless')  # 無頭參數(shù),瀏覽器隱藏在后臺(tái)運(yùn)行
options.add_argument('--disable-gpu')  # 禁用GPU加速
options.add_argument('--start-maximized')  # 瀏覽器最大化
options.add_argument('--window-size=1920x1024')  # 設(shè)置瀏覽器分辨率(窗口大小)
options.add_argument('--user-agent=""')  # 設(shè)置請(qǐng)求頭的User-Agent
options.add_argument('--incognito')  # 隱身模式(無痕模式)
options.add_argument(f'--proxy-server={proxy}')  # 添加IP代理 proxy=f"http://{ip}:{port}"
# 關(guān)閉'Chrome正受到,自動(dòng)測(cè)試軟件的控制'的提示
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2}) # 禁用圖片加載
driver.set_page_load_timeout(20)  # 設(shè)置連接超時(shí)20秒
options.add_experimental_option('detach', True)  # 不自動(dòng)關(guān)閉瀏覽器

driver = webdriver.Chrome(options=options)  # 創(chuàng)建瀏覽器對(duì)象
driver.get('https://www.baidu.com')

2.修改瀏覽器窗口大小,set_window_size() 方法來修改瀏覽器窗口的大小,maximize_window() 方法可以實(shí)現(xiàn)瀏覽器全屏顯示,get_window_size()獲取網(wǎng)頁的窗口大小。

import time
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
# 訪問百度首頁
driver.get('https://www.baidu.com')
# 獲取網(wǎng)頁的窗口大小
print(driver.get_window_size())  # {'width': 1050, 'height': 708}
# 1.設(shè)置瀏覽器的寬高為:600x800
driver.set_window_size(600, 800)
time.sleep(3)
# 2.網(wǎng)頁界面最大化
driver.maximize_window()
time.sleep(3)
# 關(guān)閉網(wǎng)頁
driver.quit()

3.瀏覽器前進(jìn)&后退,webdriver 提供 back 和 forward 方法來實(shí)現(xiàn)頁面的后退與前進(jìn)。下面我們 ①進(jìn)入百度首頁,②打開百度圖片網(wǎng),③back 返回百度首頁,④ forward 前進(jìn)到百度圖片網(wǎng)。為了看到自動(dòng)化的過程,可以加延時(shí)處理,driver.title顯示網(wǎng)頁的標(biāo)題。

import time
from selenium import webdriver

driver = webdriver.Chrome()
# 1.訪問百度首頁
driver.get('https://www.baidu.com/')
print(driver.title)  # 百度一下,你就知道
time.sleep(2)
# 2.訪問百度圖片,主頁
driver.get('https://image.baidu.com/')
print(driver.title)  # 百度圖片-發(fā)現(xiàn)多彩世界
time.sleep(2)
# 3.返回(后退)到百度首頁
driver.back()
time.sleep(2)
# 4.前進(jìn)到百度圖片網(wǎng)
driver.forward()

大家會(huì)發(fā)現(xiàn)第2次 get() 打開新頁面時(shí),會(huì)在原來的頁面打開,而不是在新標(biāo)簽中打開。如果想的話,可以執(zhí)行 js 語句來打開新的標(biāo)簽。

js = "window.open('https://image.baidu.com/')"
driver.execute_script(js)

4.常用的瀏覽器操作方法,自己敲代碼練習(xí)一下,這里就不一一演示了。


driver.maximize_window()  # 最大化瀏覽器
driver.set_window_size(w,h)  # 設(shè)置瀏覽器大小 單位像素
driver.set_window_position(x,y)  # 設(shè)置瀏覽器位置
driver.back()  # 后退操作
driver.forward()  # 前進(jìn)操作
driver.refresh()  # 刷新操作
driver.close()  # 關(guān)閉當(dāng)前主窗口(主窗口:默認(rèn)啟動(dòng)那個(gè)界面,就是主窗口)
driver.quit()  # 關(guān)閉driver對(duì)象啟動(dòng)的全部頁面
driver.get()  #要打開的網(wǎng)址
driver.title  # 獲取當(dāng)前頁面title信息
driver.current_url  # 獲取當(dāng)前頁面url信息
# 截圖預(yù)覽
driver.get_screenshot_as_file('截圖.png')
# 瀏覽器名稱
driver.name
#  網(wǎng)頁源碼
driver.page_source

5.常見元素的基本方法:在百度先輸入李白,清空李白,輸入杜甫,最后點(diǎn)擊查詢按鈕。


Keys
import time
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get('https://www.baidu.com')

# 1.查找輸入框,并輸入關(guān)鍵詞李白
input = driver.find_element(By.ID, 'kw')
input.send_keys('李白')
time.sleep(1)
# 2.清除李白,輸入杜甫
input.clear()
time.sleep(1)
input.send_keys('杜甫')
button = driver.find_element(By.ID, 'su')
button.click()
# 輸出按鈕的大小
print(button.size)  # {'height': 40, 'width': 112}
print(button.is_displayed())  # True
# 輸出value屬性的值
print(button.get_attribute('value'))  # 百度一下
time.sleep(5)
# 關(guān)閉網(wǎng)頁
driver.quit()

完畢!!感謝您的收看

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容