大型情感剧集Selenium:2_options设置

HFSS螺旋线圈的设计与仿真 undefined.全局变量在这里进行设置:Project/Project Properties, browse and setup the global variables.undefined.方程中的局部变量设置:HFSS/Design Properties, browse and setup the local variables。按照下图填写曲线的方程内容:fill the parameters according to the setup in the following picture。 阅读详情
selenium从入门到放弃

今天用一张朋友圈截图开篇吧...


5847426-df1b83ba71d4d014.jpg
依然被嘲讽.jpg

不出所料与果不其然...又被嘲讽了啊,这个流汗的表情暴击一万点伤害。
每天在嘲讽中学习,我感觉可以写一本辛酸泪的书了,名字叫【公众号,从发文到放弃】,哈哈!
其实这种针对个别群体的文章,远不如娱乐性质的python文章来的有吸引力。
就好比我隔壁工位的盆友,今天说“你总是夜里发文章,早上就被其他公众号冲走了,你看冷兔的公众号,早上刚发马上十几万的浏览量...”我转手就卸载了微信上所有冷兔的表情,惹不起还躲不起了,哥也是有脾气的人!
不吹不卖,继续今天的系列

上集回顾

昨天说简单介绍了什么是selenium,它能干what,和发展史与梗概。当的是python如何通过pip安装selenium,并下载对应浏览器的webdriver。
最后简单通过一个Demo描述了下如何导入selenium模块,并通过webdriver打开浏览器(我用的chrome),访问我的简书...

今日内容

按照大纲来说,今天该讲selenium的几种对象定位方法了。但我按照套路来吧,你们说无趣,不按照套路来,又怕翻车丢粉。
可就这么就这么几个人关注,我按照套路那么写,怎么突出我的独树一帜?
所以我今天要说webdriver的options!

options?WTF...

为了成功的引出options,我们先来说一个现象。selenium默认打开窗口只是半屏的宽度,很多时候为了让视觉优化,我们需要使之全屏。
但有时候,我们需要多开浏览器,又需要它小屏...这样,我们需要设置浏览器的分辨率。看下面代码:

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @JianShu  : 清风Python
# @Date     : 2019/6/18 23:50
# @Software : PyCharm
# @version  :Python 3.6.8
# @File     : Day2.1_set_window.py

from selenium import webdriver
import time

driver = webdriver.Chrome()

driver.get("https://www.jianshu.com/u/d23fd5012bed")

# 最大化浏览器窗口
driver.maximize_window()
time.sleep(1)
# 调整浏览器窗口为900*600
driver.set_window_size(900, 600)
time.sleep(1)

driver.quit()
5847426-650013d3deaf6bb0.gif
普通版调整浏览器尺寸

很多书上,都会告诉读者,通过.maximize_window()设置全屏,而使用.set_window_size(900, 600)设置特定的分辨率。
这样设置没错,但如果我是面试官,你这么答,顶多给你70分,不能再多了...why?

多数情况下,我们如何设置窗口的分辨率,是在我们在编码前就可以确定的。那么为什么要等到浏览器已经启动后,再去设置这些东西呢?
先小屏,然后再调整成大屏,脱裤子放屁,多此一举...如何优化?
就到了今天要说的options!

chrome.options

首先,我们需要导入options:
from selenium.webdriver.chrome.options import Options
既然导入了,就进去看看源码呗...

5847426-91822c2ff3b6fa94.png
Options源码

看这好像也没啥,定义了一堆列表和字典,然后创建了一堆property装饰器用来get、set方法用于设置...
但这里面的参数,多到你怀疑人生.不信你去看看介绍Chromium命令行开关列表。
说的太多就跑题了,挑一些说说。
先回到刚才的问题,如何设置浏览器分辨率,才是更优雅的做法?看代码

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @JianShu  : 清风Python
# @Date     : 2019/6/19 0:02
# @Software : PyCharm
# @version  :Python 3.6.8
# @File     : Day2.2_chrome_options.py

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

options = Options()
options.add_argument('--start-maximized')
driver = webdriver.Chrome(chrome_options=options)

driver.get("https://www.jianshu.com/u/d23fd5012bed")

driver.quit()

我们通过导入Options,并对选项进行设置,之后在webdriver创建时导入参数。
这样就不会出现刚才那种先打开浏览器,再调整成最大尺寸的问题了。这个考点小本本记下,面试会考,哈哈...(反正上周面试那几个的时候,没人给我这个回答)
有人说了,就为了这一个问题,你又是引入子类,又是设置、导入配置的,我宁愿像刚才那么搞。
可我说了啊,options的选项多到你怀疑人生。举几个常用的例子:
有些血气方刚的爱国小青年,往往在夜深人静的时候,喜欢仇视下日韩的娱乐文化,此时他们会打开Chrome的无痕模式,那么selenium怎么打开无痕模式呢?
options.add_argument('--incognito') incognito:伪装、隐姓埋名的意思...
这个不是考点,但很多年轻人现在已经在记笔记了!
再来说说强迫症患者需要的,selenium打开浏览器后,浏览器页面顶部会有一个提示栏chrome正受到自动测试软件的控制...,每次看到这个提示栏,我的强迫症就犯了,有种团战可以输,影魔必须死的感受,不点掉它我心难安啊!那么这个该怎么取消?
options.add_argument('--disable-infobars') 一瞬间火女莱恩双大影魔回泉水读秒...

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

options = Options()
options.add_argument('--incognito')
options.add_argument('--disable-infobars')
driver = webdriver.Chrome(chrome_options=options)

driver.get("https://www.jianshu.com/u/d23fd5012bed")

driver.quit()
5847426-8e1f27fef0756fc3.gif
无痕模式+取消提示

再来一个抢饭碗的,PhantomJS一直是无界面浏览器的标杆,但chrome59版本开始增加了Chrome-headless模式,可以无界面运行浏览器,瞬间抢了PhantomJS的饭碗,走自己的路,让别人无路可走啊!
有些人说了,不显示浏览器,怎么知道浏览器打开没呢?最简单的方式,打印一下当前窗口的title呗...

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

options = Options()
options.add_argument('--headless')

driver = webdriver.Chrome(chrome_options=options)


driver.get("https://www.jianshu.com/u/d23fd5012bed")
time.sleep(3)
print(driver.title)
# 退出drvier关闭浏览器
driver.quit()

>>>output: 清风Python - 简书

以上这些,真是options中的九牛一毛,更多详细的内容,会在以后的文章用到时,再介绍...

To Be Continue

今天的内容就到这里,如果觉得有帮助,欢迎将文章或者我的公众号【清风Python】分享给更多喜欢python的人。
毕竟像我这种疯狂天天更新,还都是原创的公众号,你们很少见吧....哈哈
你也可以点击右下角的在看,让我知道你来过...
公众号内有整理好的各类福利书籍供大家下载,还想要更多的可以私信我,记得扫码关注:

5847426-6a08c9b14c8a9d3d.png
清风Python

python实现ECMS算法 ECMS(Equivalent Consumption Minimization Strategy)算法是一种用于混合动力汽车能量管理系统的优化策略。它通过计算等效油耗来平衡电池电量消耗和燃油消耗,从而优化整体能耗。以下是一个简单的Python实现,用于演示ECMS算法的基本思想。这个实现假设了一个简单的混合动力汽车模型,其中电池电量和燃油消耗是主要的优化目标。 阅读详情

相关推荐

IC设计效率翻倍!Verilog-mode的AUTOWIRE/AUTOINST组合使用技巧

本文详细介绍了在Emacs的verilog-mode插件中,如何组合使用AUTOWIRE与AUTOINST功能,实现Verilog代码的智能自动化连接与维护。通过声明式编程思想,该组合能自动生成模块实例化连接和线网声明,并配合AUTO_TEMPLATE处理复杂映射,从而大幅提升IC顶层设计的效率和可靠性,减少手动连线的错误。

weixin_28826545的博客 319

jquery var options = options || {}

var options = options || {};这个语句是一个赋值或者初始化语句。该语句在options已经被初始化过后options的值不变,即执行var options = options这一部分。当options未被初始化,即typeof options = 'undefined'时,执行后面部分即var options = {}来初始化一个对象原文:http://zhid...

889

Synopsys 逻辑综合之 ICG

文章摘要: ICG(集成时钟门控单元)是一种用于降低时钟功耗的专用逻辑单元,通过控制时钟信号的传播实现节能。其核心原理是在寄存器前插入门控逻辑(如gclk=clk&en),但需避免直接使用AND门以防止毛刺,转而采用带锁存器的专用ICG单元。在RTL设计中,符合条件(如稳定使能信号)的if(en)结构可被综合工具(如DesignCompiler)自动识别并替换为ICG。使用时需配置时序检查(如PrimeTime分析使能路径、门控时钟延迟),并注意避免组合逻辑使能、多级门控等误区。ICG是芯片低功耗设

Serven的博客 4350

options = options || {};

function test (options) { options = options || {}; } 如果调用test没有参数,options将被初始化为空对象。 ||如果第一个操作数是伪造的,逻辑或运算符将返回其第二个操作数。 Falsy值是:0,null,undefined,空字符串(""),NaN和当然的false。 参考:https://stackoverflow.com/a/28...

jhs的博客 471

ISO15118-20证书结构关系解读(7.3.2.1)

本文主要讲述ISO15118-20:2022标准所有证书结构的关联关系,目的是为后续基于ISO15118-20车桩通讯及PNC充电等提供基础支撑。 本文所有的证书关系图全部来源于ISO15118-20:2022标准规范,在后续的讲解过程会将图的摘取出处给提供出来,便于后期文章和标准对应起来解读。

weixin_40900932的博客 3184

PyRoki:机器人运动学优化库入门教程

PyRoki:模块化机器人运动学优化工具包 本文介绍了PyRoki,一个模块化、可扩展且跨平台的机器人运动学优化工具包。PyRoki通过统一变量和成本函数接口,简化了逆运动学、轨迹优化和运动重定向等任务的实现,支持CPU、GPU和TPU加速。实验表明,PyRoki在批量逆运动学任务中比现有GPU加速库cuRobo快1.4-1.7倍,且收敛误差更低。其模块化设计支持快速集成新成本函数,并通过交互式可视化工具优化参数配置。PyRoki开源发布,为机器人运动优化提供了灵活高效的解决方案。

机器人控制与仿真应用 1292

python3 使用 selenium3 注意事项

selenium3 获取属性和元素中的文本内容 1、通过 get_attribute(‘src’) 来获取属性的文本值 rule = "//div[@class='access-check-code text-muted']//img" img_url = driver.find_element_by_xpath(rule).get_attribute('src') 2、通过get_attrib...

极客点儿 778

HFSS实战项目——基片集成波导(SIW)带通滤波器

设计了一款直接耦合的SIW带通滤波器, 采用直接耦合的形式, 工作频率覆盖19~21 GHz, 通带内插入损耗小于1.5 dB, 回波损耗小于-20 dB, 带外抑制特性良好.

2401_87464239的博客 4897

Chrome浏览器解决问题合集6.7

option = webdriver.ChromeOptions() # 关闭“chrome正受到自动测试软件的控制” # V75以及以下版本 # option.add_argument('disable-infobars') # V76以及以上版本 option.add_experimental_option('useAutomationExtension', False) option.add_experimental_option('excludeSwitches', ['enable-automat

weixin_39782286的博客 1019

MIPI RFFE 信号完整性与硬件设计

MIPI RFFE信号完整性设计关键点 摘要:MIPI RFFE作为射频前端控制总线,其信号完整性设计需平衡速率、驱动能力与抗干扰性。核心挑战在于确保接收端在52Mb/s速率下保持足够的电压和时序裕量。关键设计考量包括: 驱动能力优化:过强导致过冲/振铃和射频杂散,过弱则恶化时序裕量,需与总线负载匹配。 波形质量指标:严格控制上升/下降时间(兼顾EMC和时序要求),抑制过冲/振铃幅度,管理VIO电源纹波和耦合噪声。

sinat_15150363的博客 239

LangGraph实战训练营-从零构建AI驱动的wiki知识库

本文深入解析 LangChain 团队开源的 Deep Agents 框架核心示例——LLM Wiki,一个基于大语言模型自动构建和维护持久化知识库的生产级 AI Agent 系统。文章从项目架构、环境搭建、核心原理到实战操作全面展开:详解 CompositeBackend 组合后端与细粒度权限控制的安全设计、四种工作模式(初始化/摄取/查询/质量检查)的完整流程、LangSmith 远程沙箱的隔离执行机制,以及人机协同审核(HITL)的实践应用。

program哲学 198

【Selenium】控制当前已经打开的 chrome浏览器窗口

Selenium控制当前已经打开的浏览器窗口!!! 妙啊

苟日新,日日新,又日新!!! 9万+

基于STM32、HAL库的MICRF112YMM-TR 无线收发器驱动程序设计

内部集成了 VCO、PLL、PA、LNA、混频器、滤波器等射频功能单元,极大减少了外部元件数量,降低了设计和布线难度。: 具有多种工作模式(睡眠、待机、接收、发射),待机电流极低,非常适合电池供电的物联网(IoT)设备。是 Microchip 公司生产的一款高性能、低功耗的单片 UHF ASK/FSK 收发器芯片。: 支持 ASK (幅移键控) 和 FSK (频移键控) 调制,适应不同应用需求。// 可以添加其他配置参数,如中心频率、数据速率等。智能家居(安防、遥控、传感)远程钥匙进入系统 (RKE)

corlin6688的博客 416

大型情感剧集Selenium:2_options设置 #华为云·寻找黑马程序员#

上集回顾 昨天说简单介绍了什么是selenium,它能干what,和发展史与梗概。当的是python如何通过pip安装selenium,并下载对应浏览器的webdriver。 最后简单通过一个Demo描述了下如何导入selenium模块,并通过webdriver打开浏览器(我用的chrome),访问我的简书… 今日内容 按照大纲来说,今天该讲selenium的几种对象定位方法了。但我按照套...

华为云官方博客 3472

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

大型情感剧集Selenium:2_options设置 #华为云·寻找黑马程序员#

selenium从入门到放弃 今天用一张朋友圈截图开篇吧… 不出所料与果不其然…又被嘲讽了啊,这个流汗的表情暴击一万点伤害。 每天在嘲讽中学习,我感觉可以写一本辛酸泪的书了,名字叫【公众号,从发文到放弃】,哈哈! 其实这种针对个别群体的文章,远不如娱乐性质的python文章来的有吸引力。 就好比我隔壁工位的盆友,今天说“你总是夜里发文章,早上就被其他公众号冲走了,你看冷兔的公众号,早上刚发马上十...

SlaughterDevil的博客 296

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

自动化进阶之路,selenium中webdriver的ChromeOptions参数说明

使用 --headless,–remote-debugging-pipe和–remote-debugging-port=0(是的,特别是0 )时也会设置此值。与 --use-fake-device-for-media-stream 一起使用。–use-file-for-fake-video-capture=:使用文件进行虚假视频捕获(.y4m 或 .mjpeg) 需要–use-fake-device-for-media-stream。no-user-gesture-required始终自动播放视频的值。

weixin_46025563的博客 7301

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Selenium操作已经打开的Chrome(只怪自己尝试的太迟)

完成以上操作后,以后selenium争对需要登陆的网址会变得友好多了。以后很多东西都能继续搞下去了😀😀😀,其使用频率就会上来了。

knighthood2001 6839

python中options是什么意思_在Javascript中,“Options=Options连{}”是什么意思?

烙印99是因为默认模式..代码段中的内容是实现默认模式,它将返回第一个操作数的值,该操作数将生成千真万确值转换为布尔值时。var some_data = undefined;var some_obj_1 = undefined;var some_obj_2 = {foo: 123};var str = some_data || "default";var obj = some_obj1 |...

weixin_39683241的博客 383

DeprecationWarning: use options instead of chrome_options

使用 python selenium,但当我运行时候出现:DeprecationWarning: use options instead of chrome_options driver = webdriver.Chrome(chrome_options=option) 这只是一个警告,并不会影响程序运行,如果实在要解决,可以替换为下面这种方式。 报这个警告的原因是在新版本中,这种写法已经被弃用了。 ———————————————— 版权声明:本文为优快云博主「Roc-xb」的原创文章,遵循CC

qq_34564073的博客 3313

Selenium自动化教程02:浏览器options配置及常用的操作方法

下面我们 ①进入百度首页,②打开百度图片网,③back 返回百度首页,④ forward 前进到百度图片网。2.修改浏览器窗口大小,set_window_size() 方法来修改浏览器窗口的大小,maximize_window() 方法可以实现浏览器全屏显示,get_window_size()获取网页的窗口大小。大家会发现第2次 get() 打开新页面时,会在原来的页面打开,而不是在新标签中打开。5.常见元素的基本方法:在百度先输入李白,清空李白,输入杜甫,最后点击查询按钮。

我的Python教程 4778

chrome浏览器的options参数

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

定格空间 7214

DeprecationWarning: use options instead of chrome_options driver = webdriver.Chrome(chrome_options

问题 在执行如下代码时报警告 options = webdriver.ChromeOptions() driver = webdriver.Chrome(chrome_options=option, executable_path=executable_path) DeprecationWarning: use options instead of chrome_options driver = webdriver.Chrome(chrome_options=option, executable_path

qq_28770757的博客 2996

21-selenium之options模块

目录 前言 加载用户配置文件 设置编码 添加请求头 禁止加载图片 无界面运行 设置开发者模式启动 禁用浏览器弹窗 禁用JavaScript 隐藏滚动条 以最高权限运行 添加插件 添加代理 前言 做自动化测试过程中,有时需要绕过验证码或如下场景中都可以使用该模块 禁止图片和视频的加载:提升网页加载速度。 使用请求头:访问移动端的站点,一般这种站点的反爬技术比较薄弱。 添加扩展:像正常使用浏览器一样的功能。 设...

小白的博客 4150

DeprecationWarning: use options instead of chrome_options 问题的解决

使用 selenium可以调用 谷歌、火狐等浏览器进行爬虫的爬取,但当我运行: from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--headless') dri...

xpt211314的博客 2万+

selenium浏览器配置项大全(options)

selenium浏览器配置项options

weixin_56572337的博客 4611
上一篇: 大型情感剧集Selenium:1_介绍
下一篇: 大型情感剧集Selenium:3_元素定位
清风Python
博客等级 码龄7年 406粉丝 267原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值