# selenium 4.10

官方文档:https://www.selenium.dev/documentation/webdriver/

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
CHROME_DRIVER = r'D:\software\anaconda3\Scripts\chromedriver.exe'
chrome_options = Options()
# 设置 屏幕大小
chrome_options.add_argument("window-size=1366,768")
chrome_options.add_argument(
    'user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36')
# 设置为开发者模式
chrome_options.add_argument("no-sandbox")
chrome_options.add_argument("--disable-extensions")
# 无头模式
chrome_options.add_argument('--headless')
# chrome_options.add_argument('blink-settings=imagesEnabled=false')
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])  # 这个有时候影响人机检测
chrome_options.add_experimental_option('prefs', {
    # "download.default_directory": bzdhzqd_save,
    "download.prompt_for_download": False,
    "download.directory_upgrade": True,
    "plugins.always_open_pdf_externally": True,  # 这句配置很重要
    "credentials_enable_service": False,    # 禁止记住密码框弹出
    "profile.password_manager_enabled": False 
})
# 可以不用设置浏览器驱动 service
service = Service(executable_path=config.CHROME_DRIVER)
driver = webdriver.Chrome(service=service, options=chrome_options)
wait = WebDriverWait(driver, 40)
driver.get()
driver.implicitly_wait(10)   # 等待页面加载完毕,最多等待 10s