selenium做web自动化时我们想要通过get打开一个页面之前就设置好一些基本参数,需要

通过add_argument()方法来设置,下面以一个简单的不展示窗口为例。

option = webdriver.ChromeOptions()  # 实例化ChromeOptions
option.add_argument('--headless') # 设置无窗口模式
driver = webdriver.Chrome(options=option) # 实例化Chrome
driver.implicitly_wait(10)
driver.get("https://www.baidu.com/")

除了headless外,还有如下几种参数最常用的

option.add_experimental_option("excludeSwitches", ["enable-automation"])  # 禁止浏览器被监控提示
option.add_argument("--user-agent=' '") # 设置请求头user-agent
option.add_argument('--start-maximized') # 设置窗口最大化
option.add_argument('--window-size=200,200') # 设置窗口大小
option.add_argument('--incognito') # 无痕模式
option.add_argument('--hide-scrollbars') # 隐藏滚动条
option.add_argument('--disable-javascript') # 禁用js
option.add_argument('--blink-settings=imagesEnabled=false') # 不加载图片(拦截图片)
option.add_argument('--disable-gpu') # 禁用gpu加速
option.add_argument(r'--user-data-dir=C:\Users\v_lihongtao\AppData\Local\Google\Chrome\User Data1')  # 打开窗口保存登录态

prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\\'}
option.add_experimental_option('prefs', prefs) # 设置下载文件时的路径

这里需要注意的是禁止浏览器被监控的提示用的是add_experimental_option()方法。

打开窗口保持登录态需找到浏览器安装目录下复制user data路径,userdata就是你当前浏览器所处的状态,为了方便区分,我们可以先关闭浏览器所有的窗口,然后复制userdata文件更改成userdata1,然后添加后--user-data-dir下。

												

add_argument()方法基本参数使用的更多相关文章

  1. Java:方法的参数是传值还是传引用

    Java中方法的参数总是采用传值的方式. 下列方法欲实现对象的交换,但实际上是不能实现的. public void swap(simpleClass a,simpleClass b){ simpleC ...

  2. MVC学习系列2--向Action方法传递参数

    首先,新建一个web项目,新建一个Home控制器,默认的代码如下: public class HomeController : Controller { // GET: Home public Act ...

  3. CLR via C# 读书笔记---常量、字段、方法和参数

    常量 常量是值从不变化的符号.定义常量符号时,它的值必须能在编译时确定.确定后,编译器将唱两只保存在程序集元数据中.使用const关键字声明常量.由于常量值从不变化,所以常量总是被视为类型定义的一部分 ...

  4. Atitit  记录方法调用参数上下文arguments

    Atitit  记录方法调用参数上下文arguments 1.1. java  java8  新的对象Parameter LocalVariableTable 本地变量表 MethodParamete ...

  5. JavaScript中以一个方法作为参数的写法

    前言,我们写js的时候,经常会看到一些方法,比如说: $("#ids").click(function( alert("Click me"); )); ---- ...

  6. C#中方法的参数的四种类型

    C#中方法的参数有四种类型:       1. 值参数类型  (不加任何修饰符,是默认的类型)       2. 引用型参数  (以ref 修饰符声明)       3. 输出型参数  (以out 修 ...

  7. XMLHTTP中setRequestHeader方法和参数

    注意:在FF里面需要将open方法放在setRequestHeader之前 一.为何要用到setRequestHeader 通 常在HTTP协议里,客户端像服务器取得某个网页的时候,必须发送一个HTT ...

  8. SpringMVC的Controller方法的参数不能直接绑定List、Set、Map

    List需要绑定在对象上,而不能直接写在Controller方法的参数中. http://www.iteye.com/topic/973918

  9. CLR via C#深解笔记四 - 方法、参数、属性

    实例构造器和类(引用类型) 构造器(constructor)是允许将类型的实例初始化为良好状态的一种特殊方法.构造器方法在“方法定义元数据表”中始终叫.ctor. 创建一个引用类型的实例时: #1, ...

  10. 详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]

    目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumen ...

随机推荐

  1. 带你读AI论文:SDMG-R结构化提取—无限版式小票场景应用

    摘要:在文档图像中提取关键信息在自动化办公应用中至关重要.传统基于模板匹配或者规则的方法,在通用性方面.未见过版式模板数据方面,效果都不好:为此,本文提出了一种端到端的空间多模态图推理模型(SDMG- ...

  2. java反射机制原理剖析

    当程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言.我们认为java并不是动态语言,但是java有一个非常突出的动态相关机制,俗称:反射. IT行业里这么说,没有反射也就没有框架,现有的框 ...

  3. Java 键值对数据本地保存与读取

    代码: package com.sux.demo.utils; import com.alibaba.fastjson.JSONObject; import java.io.File; import ...

  4. 【每日一题】20.K-th Number (二分 + 尺取)

    关于此题,我们分析一下: 一个区间第k大的数不小于x的条件是什么? 答案就是一个区间内不小于x的数的个数不小于k 那么,我们就会发现,我们其实并不需要知道每个数的值,实际上对我们有用的只有每个数与x的 ...

  5. 秒杀活动java怎么实现

    秒杀与其他业务最大的区别在于:秒杀的瞬间: (1)系统的并发量会非常的大 (2)并发量大的同时,网络的流量也会瞬间变大. 一个秒杀或者抢购页面,通常分为2个部分,一个是静态的HTML等内容,另一个就是 ...

  6. 企业如何利用 Serverless 快速扩展业务系统?

    2022 年 9 月 24 日,阿里云用户组(AUG)第 12 期活动在厦门举办.活动现场,阿里云高级技术专家史明伟(花名:世如)向参会企业代表分享了<未来已来--从技术升级到降本提效>. ...

  7. rem在手机移动端app中的兼容适配问题

    这是我之前一直使用的第一种rem方案.贴代码 1 <script> 2 // 适用于750的设计稿 3 var iScale = 1; 4 // 通过页面加载的时候去获取用户设备的物理像素 ...

  8. SpringBoot 集成短信和邮件

    准备工作 1.集成邮件 以QQ邮箱为例 在发送邮件之前,要开启POP3和SMTP协议,需要获得邮件服务器的授权码,获取授权码: 1.设置>账户 在账户的下面有一个开启SMTP协议的开关并进行密码 ...

  9. P1825 诡异的题

    一道不难的题,可是挑了好久也没调好!因为最开始写的代码太复杂了,一大堆嵌套括号,其中有一个ny写成了nx一直没发现.后来用新定义变量取代了那些复杂的用函数."."和方括号表达出来的 ...

  10. wxpython窗体之间传递参数

    如何界面存在frame1与frame2,通过frame1打开页面frame2,并将frame2的值传递给frame1 可以使用回调函数传值参考具体代码如下: # -*- coding: utf-8 - ...