老版本:options.add_argument('--disable-infobars')
之前老版本这样操作即可,新版的chrome就不行了。怎么办呢?看下面
只需要增加3行代码即可
options = Options()
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option("excludeSwitches", ['enable-automation'])
from selenium import webdriver
import time
import os,platform
from selenium.webdriver.chrome.options import Options
if platform.system() =="Windows":
os.system("taskkill -im chrome* -f") # 把chrome开头的进程都杀掉
else:
os.system("killall -9 chrome*")
# 关闭左上方 Chrome 正受到自动测试软件的控制的提示
# options = webdriver.ChromeOptions()
options = Options()
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option("excludeSwitches", ['enable-automation'])
# options.add_argument('--headless') # linux下的无头模式
# options.add_argument('--disable-gpu')
print("开始无头模式")
driver = webdriver.Chrome(chrome_options=options)
driver.get("https://www.baidu.com/")
driver.maximize_window()
print(driver.current_url)
print(driver.title)
time.sleep(3)
driver.save_screenshot("./wutou.png")
#定位百度搜索框
driver.find_element_by_id("kw").send_keys("python")
time.sleep(3)
driver.find_element_by_id("su").click()
time.sleep(5)
driver.quit()
统计了options一些常用参数
options.add_argument(f"--proxy-server=http://183.166.149.193:20005")
使用代理
options.add_argument('--disable-infobars')
# 禁止策略化
options.add_argument('--no-sandbox')
# 解决DevToolsActivePort文件不存在的报错
options.add_argument('window-size=1920x3000')
# 指定浏览器分辨率
options.add_argument('--disable-gpu')
# 谷歌文档提到需要加上这个属性来规避bug
options.add_argument('--incognito')
# 隐身模式(无痕模式)
options.add_argument('--disable-javascript')
# 禁用javascript
options.add_argument('--start-maximized')
# 最大化运行(全屏窗口),不设置,取元素会报错
options.add_argument('--hide-scrollbars')
# 隐藏滚动条, 应对一些特殊页面
options.add_argument('blink-settings=imagesEnabled=false')
# 不加载图片, 提升速度
options.add_argument('--headless')
# 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
# 手动指定使用的浏览器位置
options.add_argument('lang=en_US')
# 设置语言
options.add_argument('User-Agent=Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/8.9 Mobile Safari/537.36')
设置请求头的User-Agent
options.add_argument('--headless')
# 浏览器不提供可视化页面
prefs = {"":""}
prefs["credentials_enable_service"] = False
prefs["profile.password_manager_enabled"] = False
chrome_option_set.add_experimental_option("prefs", prefs)
# 屏蔽'保存密码'提示框