Selenium中的option用法实例

selenium,option,用法,实例 · 浏览次数 : 566

小编点评

**无头浏览器 Option 示例** 无头浏览器也属于 `option` 的用法,以下是几个例子: **1. 设置窗口大小** ```python # 无头浏览器窗口大小设置为 800x600 driver = webdriver.Chrome(options=webdriver.ChromeOptions().add_argument('--window-size=800,600')) ``` **2. 去掉浏览器被自动化软件控制的提示** ```python # 设置不开启自动化选项 driver = webdriver.Chrome(options=webdriver.ChromeOptions().add_experimental_option('excludeSwitches', [ "enable-automation" ])) ``` **3. 设置伪造用户-代理** ```python # 使用本地库设置伪造用户-代理 driver = webdriver.Chrome(options=webdriver.ChromeOptions().add_argument( f'user-agent={chrome_ua}" )) ``` **4. 绕过弹窗限制** ```python # 阻止 iqiyi 首页打开时弹出允许禁止窗口 driver = webdriver.Chrome(options=webdriver.ChromeOptions().add_experimental_option( 'prefs', {'notifications': 2}, )) driver.get('https://cn.bing.com') ``` **5. 禁止弹窗** ```python # 设置不开启自动化选项 driver = webdriver.Chrome(options=webdriver.ChromeOptions().add_experimental_option( 'prefs', {'autoplay': False}, )) driver.get('about:blank') ```

正文

Selenium中的option用法实例

在上一篇文章Selenium中免登录的实现方法一option中我们用到了option,而option的用法是很多的,本文举几个例子

关于无头浏览器,也属于option的一种,但我们单独开个篇幅讲一下
看完你会发现多数是参数形式的,那chrome作为这么一个大的工具,参数应该是非常之多的,网上有个文章,可以借鉴,但未必都能支持。
https://peter.sh/experiments/chromium-command-line-switches/

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/')

与Selenium中的option用法实例相似的内容:

Selenium中的option用法实例

Selenium中的option用法实例 在上一篇文章Selenium中免登录的实现方法一option中我们用到了option,而option的用法是很多的,本文举几个例子 关于无头浏览器,也属于option的一种,但我们单独开个篇幅讲一下 看完你会发现多数是参数形式的,那chrome作为这么一个大

Selenium中免登录的实现方法一option

Selenium中免登录的实现方法一option 在selenium中有很多种可以实现网站的免登录,option就是其中的一种做法。 学员在VIP自动化课程中多有涉及。 1. 准备工作 打开一个网站(此处以https://www.processon.com/为例) 手工登录 关闭 重开该网站发现已经

谈谈Selenium中的三种切换之alert

谈谈Selenium中的三种切换之alert 一、如何识别 识别方法:alert中的确定、取消、输入框无法用inspector定位到,当然还有一些特例。 alert分为三种 alert confirm prompt 分别对应3个js的命令(可在chrome的console面板中调试) alert('

《最新出炉》系列初窥篇-Python+Playwright自动化测试-18-处理鼠标拖拽-上篇

1.简介 本文主要介绍两个在测试过程中可能会用到的功能:在selenium中宏哥介绍了Actions类中的拖拽操作和Actions类中的划取字段操作。例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能。playwright同样可以实现元素的拖拽和释放的操作。 2.拖拽操作 鼠标拖拽操

Selenium中对于颜色的处理及拓展

Selenium中对于颜色的处理及拓展 获取百度一下按钮的背景色 from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.get('https://www.baidu.com')

谈谈Selenium中浏览器驱动的日志

谈谈Selenium中浏览器驱动的日志 来源于一位同学,“老师为啥firefox执行后会有日志文件,chrome没有呢?” 比对 你打开chrome浏览器 from selenium import webdriver driver = webdriver.Chrome() 这样是没有日志的 同样的代

SpringBoot+Selenium模拟用户操作浏览器

Selenium Selenium是一个用于Web应用程序自动化测试的开源工具套件。它主要用于以下目的: 浏览器自动化:Selenium能够模拟真实用户在不同浏览器(如Chrome、Firefox、IE/Edge等)中的交互行为,通过编程方式控制浏览器执行一系列操作,例如点击按钮、填写表单、导航页面

解决HtmlUnit执行JS报错提示ScriptException

问题描述 HtmlUnit作为一款比Selenium更轻量的HeadLess的Java版本浏览器模拟器,不需要在服务器上安装部署浏览器及其Driver程序。 但是,众所周知,HtmlUnit对JS脚本的支持并不是很友好,GitHub中大部分的issue都和JS执行错误有关,作者也一直在升级JS En

《最新出炉》系列入门篇-Python+Playwright自动化测试-15-playwright处理浏览器多窗口切换

1.简介 浏览器多窗口的切换问题相比大家不会陌生吧,之前宏哥在java+selenium系列文章中就有介绍过。大致步骤就是:使用selenium进行浏览器的多个窗口切换测试,如果我们打开了多个网页,进行网页切换时,我们需要先获取各个页面的句柄,通过句柄来区分各个页面,然后使用switch_to.wi

《最新出炉》系列初窥篇-Python+Playwright自动化测试-16-处理模态对话框弹窗

1.简介 我们在日常工作中,会经常遇到弹出警告框的问题,弹框无法绕过,必须处理才可以执行后续的测试,所以弹框处理也是我们必须掌握的一个知识。宏哥在java+selenium系列文章中介绍过这部分内容。那么,playwright对于弹框的处理是怎样的?是否比selenium更加简单呢?下面我们就来介绍