1. 程式人生 > 其它 >Selenium中的option用法例項

Selenium中的option用法例項

Selenium中的option用法例項

在上一篇文章Selenium中免登入的實現方法一option中我們用到了option,而option的用法是很多的,本文舉幾個例子

關於無頭瀏覽器,也屬於option的一種,但我們單獨開個篇幅講一下

1. 無痕模式

from selenium import webdriver
myoption = webdriver.ChromeOptions()
myoption.add_argument('--incognito')
driver = webdriver.Chrome(options=myoption)

2. 啟動時視窗大小設定

  • 最大化
from selenium import webdriver
myoption = webdriver.ChromeOptions()
myoption.add_argument('--start-maximized')
driver = webdriver.Chrome(options=myoption)
  • 指定大小
from selenium import webdriver
myoption = webdriver.ChromeOptions()
myoption.add_argument('--window-size=800,600')
driver = webdriver.Chrome(options=myoption)
  • 指定比例:這裡有點坑,你得到的size是整數,但/了之後就是浮點數,此處引數只支援整數。
from selenium import webdriver
import pyautogui
myoption = webdriver.ChromeOptions()
width,height = pyautogui.size()
myoption.add_argument(f'--window-size={round(width/3)},{round(height/3)}')
driver = webdriver.Chrome(options=myoption)

3. 去掉瀏覽器被自動化軟體控制的提示

from selenium import webdriver
myoption = webdriver.ChromeOptions()
myoption.add_experimental_option("excludeSwitches", ["enable-automation"])
myoption.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=myoption)

4. 偽造user-agent

from selenium import webdriver
# from fake_useragent import UserAgent  # 以前是這個庫,現在連結外部網站有點問題,就改用本地庫了
from local_fake_useragent import UserAgent  # pip install local-fake-useragent

chrome_ua = UserAgent('chrome').rget
print(chrome_ua) # Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.16 SUSE/10.0.626.0 (KHTML, like Gecko) Chrome/10.0.626.0 Safari/534.16
options = webdriver.ChromeOptions()
options.add_argument(f'user-agent={chrome_ua}')
driver = webdriver.Chrome(options=options)
driver.get('https://cn.bing.com')

5. 禁止彈窗

iqiyi的首頁開啟的時候會彈出 允許禁止,這個可以ban掉

from selenium import webdriver
prefs = {
    'profile.default_content_setting_values': {
        'notifications': 2
    }
}
myoption = webdriver.ChromeOptions()
myoption.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(options=myoption)
driver.get('https://www.iqiyi.com/')