selenium的options启动项常用参数设置

1. 背景

  • 在使用selenium浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。
  • 常用的行为有:
  • 禁止图片和视频的加载:提升网页加载速度。
  • 添加代理:用于访问某些页面,或者应对IP访问频率限制的反爬技术。
  • 使用移动头:访问移动端的站点,一般这种站点的反爬技术比较薄弱。
  • 添加扩展:像正常使用浏览器一样的功能。
  • 设置编码:应对中文站,防止乱码。
  • 阻止JavaScript执行。

2. chromeOptions

  • chromeOptions 是一个配置 chrome 启动是属性的类。通过这个类,我们可以为chrome配置如下参数(这个部分可以通过selenium源码看到):

  • 设置 chrome 二进制文件位置 (binary_location)

  • 添加启动参数 (add_argument)

  • 添加扩展应用 (add_extension, add_encoded_extension)

  • 添加实验性质的设置参数 (add_experimental_option)

  • 设置调试器地址 (debugger_address)

一、常用参数

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
options.add_argument(f"--proxy-server=http://115.239.102.149:4214")  # 使用代理
options.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度

二、使用方法

from selenium import webdriver
from selenium.webdriver.chrome.options import Options  

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
options.add_argument(f"--proxy-server=http://115.239.102.149:4214")  # 使用代理
options.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度

chrome_obj = webdriver.Chrome(options=options)  


chrome_obj.get('https://www.baidu.com/')   # 执行 > 效果 > 发送请求,访问相关的页面
str_data = chrome_obj.page_source   # 执行 > 效果 > 获取当前页面的源代码

# 截取更多(窗口最大化)
# chrome_obj.maximize_window()

# 网页截屏  无界面模式下 无用
# chrome_obj.save_screenshot('baidu.png')

# 关闭浏览器
time.sleep(2)
chrome_obj.quit()

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Chrome OptionsSelenium中Chrome浏览器的一种参数配置选项。它允许我们在启动Chrome浏览器时设置各种选项,以实现不同的需求。 使用Chrome Options,我们可以完成以下任务: 1. 设置浏览器的浏览模式:我们可以通过设置"--headless"参数来启动Chrome无头模式,即在没有显示浏览器界面的情况下运行浏览器,这对于执行自动化测试很有用。 2. 设置浏览器的User-Agent:通过设置"--user-agent"参数,我们可以改变浏览器的User-Agent,以模拟不同的浏览器和设备。 3. 设置浏览器的下载路径:我们可以使用"--download.default_directory"参数来设置下载文件的默认保存路径。 4. 设置浏览器的语言:通过设置"--lang"参数,我们可以改变浏览器的语言环境,使其适应不同语言的网站。 5. 启用或禁用浏览器的扩展:通过设置"--disable-extensions"参数,我们可以禁用浏览器的扩展,或者通过"--load-extension"参数加载指定的扩展。 为了使用Chrome Options,我们首先需要导入selenium包中的Options类: ```python from selenium.webdriver.chrome.options import Options ``` 然后,我们可以创建Options对象,并设置所需的参数: ```python options = Options() options.add_argument("--headless") options.add_argument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3") options.add_argument("--download.default_directory=C:/Downloads") ``` 最后,将Options对象作为参数传递给ChromeDriver的构造函数,即可在启动Chrome浏览器时应用这些参数配置: ```python driver = webdriver.Chrome(chrome_options=options) ``` 通过这种方式,我们可以充分利用Chrome Options的各种参数,对Chrome浏览器进行个性化设置,以满足我们不同场景下的需求。 ### 回答2: Python Selenium库提供了一些Chrome Options参数,可以在使用Chrome浏览器自动化测试时进行配置。下面是一些常用Options参数及其用法: 1. --headless:设置无头模式,即在后台运行浏览器而不显示图形界面。可以提高测试效率,并节省计算资源。 2. --disable-gpu:禁用GPU加速。有些时候,GPU加速可能导致浏览器无法正常工作,禁用它可以解决一些兼容性问题。 3. --disable-extensions:禁用浏览器扩展程序。有些扩展程序可能会干扰自动化测试的进行,禁用它们可以提高测试的稳定性。 4. --disable-infobars:禁用浏览器顶部的信息栏。有些站点可能会通过弹出信息栏来干扰测试过程,禁用它可以避免干扰。 5. --start-maximized:启动时最大化浏览器窗口。默认情况下,启动时浏览器窗口是最小化的,通过设置这个参数可以让窗口最大化,方便观察测试过程。 6. --lang=xxx:设置浏览器的语言。有些站点的内容可能根据语言设置而变化,可以通过设置这个参数来模拟不同的语言环境。 以上只是常用的一些Options参数,实际上还有很多其他参数可以用来控制浏览器的行为。通过结合这些参数的使用,可以更加灵活地进行自动化测试,满足不同测试需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

"Martix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值