selenium_Chrom参数配置

1.常用参数:

# options.add_argument('--headless')                     # 开启无界面模式
# options.add_argument("--disable-gpu")                  # 禁用gpu  谷歌文档提到需要加上这个属性来规避bug
# options.add_argument('--user-agent=Mozilla/5.0 HAHA')  # 配置对象添加替换User-Agent的命令
# options.add_argument('--window-size=1366,768')         # 设置浏览器分辨率(窗口大小)
# options.add_argument('--start-maximized')              # 最大化运行(全屏窗口),不设置,取元素会报错
# options.add_argument('--disable-infobars')             # 禁用浏览器正在被自动化程序控制的提示
# options.add_argument('--incognito')                    # 隐身模式(无痕模式)
# options.add_argument('--disable-javascript')           # 禁用javascript
# options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度
# options.add_argument('window-size=1920x3000') # 指定浏览器分辨率
# options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面
# options.add_argument('--no-sandbox') # 以最高权限运行
# option.add_extension('d:crxAdBlock_v2.17.crx') #添加crx插件
# options.add_experimental_option('excludeSwitches', ['enable-automation']) # 设置开发者模式启动,该模式下webdriver属性为正常值
# options.binary_location = r"C:Program Files (x86)GoogleChromeApplicationchrome.exe" # 手动指定使用的浏览器位置

2.完整参数链接

https://peter.sh/experiments/chromium-command-line-switches/

3.打开百度搜索代码示例

from selenium import webdriver


options = webdriver.ChromeOptions()                  # 创建一个配置对象

# options.add_argument('--headless')                 # 开启无界面模式
# options.add_argument("--disable-gpu")              # 禁用gpu
# options.add_argument('--user-agent=Mozilla/5.0 HAHA')  # 配置对象添加替换User-Agent的命令
# options.add_argument('--window-size=1366,768')    # 设置浏览器分辨率(窗口大小)
# options.add_argument('--start-maximized')         # 最大化运行(全屏窗口),不设置,取元素会报错
# options.add_argument('--disable-infobars')        # 禁用浏览器正在被自动化程序控制的提示
# options.add_argument('--incognito')               # 隐身模式(无痕模式)
# options.add_argument('--disable-javascript')      # 禁用javascript


driver = webdriver.Chrome(chrome_options=options)   # 实例化带有配置的driver对象
driver.get('https://www.baidu.com/')                # 请求百度地址

driver.find_element_by_id('kw').send_keys('python') # 输入python关键字搜索

driver.find_element_by_id('su').click()             # 点击搜索页面

# 通过执行js来新开一个标签页
js = 'window.open("https://mail.qq.com/")'
driver.execute_script(js)                           # 执行js

# 获取当前所有的窗口
window = driver.window_handles

# 根据索引切换窗口
driver.switch_to.window(window[0])
driver.switch_to.window(window[1])

driver.quit()                                       # 退出

注解:--disable-infobars ------禁用浏览器正在被自动化程序控制的提示。如果不设置这个参数,浏览器打开会有这样的提示框
在这里插入图片描述

3.基本使用

 1 from selenium import webdriver
 2 from selenium.webdriver import ActionChains
 3 from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR
 4 from selenium.webdriver.common.keys import Keys #键盘按键操作
 5 from selenium.webdriver.support import expected_conditions as EC
 6 from selenium.webdriver.support.wait import WebDriverWait #等待页面加载某些元素
 7 
 8 browser=webdriver.Chrome()
 9 try:
10     browser.get('https://www.baidu.com')
11 
12     input_tag=browser.find_element_by_id('kw')
13     input_tag.send_keys('美女') #python2中输入中文错误,字符串前加个u
14     input_tag.send_keys(Keys.ENTER) #输入回车
15 
16     wait=WebDriverWait(browser,10)
17     wait.until(EC.presence_of_element_located((By.ID,'content_left'))) #等到id为content_left的元素加载完毕,最多等10秒
18 
19     print(browser.page_source)
20     print(browser.current_url)
21     print(browser.get_cookies())
22 
23 finally:
24     browser.close()

4.其他博客

知乎:https://zhuanlan.zhihu.com/p/60852696

CSDN: https://blog.csdn.net/qq_43035475/article/details/103204273

来源:https://blog.csdn.net/qq_38923792/article/details/94589247

原文地址:https://www.cnblogs.com/lixueren-wy/p/15127550.html