【自主探索】发现答案:为何自己寻找解答比直接获取更有效?

简介: 这篇文章探讨了自主探索问题答案的重要性,并通过解决Edge浏览器无头模式配置的问题来说明这一点,同时提醒读者要勇于怀疑和验证每个答案,包括自己的答案。

一、关于回答

每当咱们遇到问题的时候,总会是先询问百度,然后再去其他地方验证答案,但是有些人总是会调皮一些,并不是完全给出正确答案,需要读者自己去取证,譬如一些解决问题的版本号,他不明说,需要在正确的版本解决,这不把读者给直逼逼到这儿吐槽。

二、无头模式

2.1、Edge无头模式

在选择selenium工具做UI自动化(浏览器兼容)的时候,为了提升效率和跨平台而选择无头模式,所以会参照chrome浏览器的实现方式,这初始化浏览器对象的时候,给它一些建议

  • chrome浏览器的无头建议如下:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options 

ch_options = Options()
ch_options.add_argument("--headless")  # => 为Chrome配置无头模式

# 在启动浏览器时加入配置
driver = webdriver.Chrome(chrome_options=ch_options) # => 注意这里的参数 
driver.get('http://baidu.com')

driver.quit()
  • 那么Edge浏览器的无头模式也是这样?
from selenium.webdriver.edge.options import Options
edge_options = Options()
edge_options.add_argument("--headless")
driver = webdriver.Edge(executable_path="./msedgedriver.exe",Options=edge_options)

driver.get("http://www.baidu.com")
driver.quit()
  • 所以执行报错了

Edge Options 没有这个add_argument方法,所以题主也去看了看,确实没有。

三、版本原罪

3.1、selenium3确实没有Edge的Options的add_argument方法

那么如何正确解决Edge浏览器的无头模式呢?

PATH = "msedgedriver.exe"
EDGE = {
   
            "browserName": "MicrosoftEdge",
            "version": "",
            "platform": "WINDOWS",
            "ms:edgeOptions": {
   
                'extensions': [],
                'args': [
                    '--headless',
                    '--disable-gpu',
                    '--remote-debugging-port=9222',
                ]}
        }
driver = webdriver.Edge(executable_path=path, capabilities=EDGE)
3.2、要勇敢怀疑每个答案,哪怕是自己的答案

当参照以往的经验不能解决实际问题时,就该想想是不是方法不对,尽管思路对了,但是实现却不能完全照搬,在编码的世界里,因为绝大多数都是搬运工,所以需要下很大功夫能看懂源码,做起事来才能事半功倍。

  • 借鉴一下,应该还有不一样的解决办法:pip install msedge-selenium-tools
from selenium import webdriver
from msedge.selenium_tools import EdgeOptions
from msedge.selenium_tools import Edge

edge_options = EdgeOptions()
edge_options.use_chromium = True
# 设置无界面模式,也可以添加其它设置
edge_options.add_argument('headless')
driver = Edge(options=edge_options)
r = driver.get('https://www.baidu.com')
print(driver.title)
driver.quit()

四、总结

在为了实现UI自动化的时候,更多不是工作,而是兴趣,甚至可以说是挑战,那么下篇咱们讲讲为什么题主要写UI自动化、要用selenium、还需要无头模式?主要解决什么问题?等等一系列问题。
本篇呢,主要是提醒各位,在很多答案上,没有人会告诉你一遍就会成功的经验,都需要自己不断摸索,不断去尝试挑战。

相关文章
|
监控 网络协议 安全
网络攻击的常见手段
网络攻击的常见手段
546 0
|
存储 数据采集 数据可视化
【python】当当书籍数据抓取分析与可视化(代码+报告)【独一无二】
【python】当当书籍数据抓取分析与可视化(代码+报告)【独一无二】
|
2月前
|
人工智能 自然语言处理 监控
Browser Use 浏览器自动化 Agent:让浏览器自动为你工作
Browser Use是一款创新浏览器自动化框架,结合LLM智能与自动化技术,能理解自然语言指令,自主操作浏览器完成任务,如数据抓取、表单填写、自动化测试等。具备智能决策、自适应处理、自然语言交互和自我修正能力,简化复杂任务,提升效率。
|
5月前
|
监控 API 数据安全/隐私保护
电商API接口:数据同步的智能引擎
在电商系统中,数据同步对业务运行和用户体验至关重要,而API接口作为关键技术手段,在其中发挥核心作用。本文详细分析了电商API接口的概念、应用场景(如商品信息、订单、库存、支付与物流同步)、技术实现步骤(如获取API Key、编写代码、性能优化)以及面临的挑战(如数据格式差异、安全性问题)。同时,通过亚马逊、阿里巴巴、京东等实际案例,展示了API接口的最佳实践及其对企业效率提升的显著效果。合理运用API技术可有效优化电商数据同步,推动业务发展。
218 0
|
安全 Linux 网络安全
NAT模式下主机连接虚拟机
NAT模式下主机连接虚拟机,VMware虚拟机系统以CentOS7为例。
978 0
|
前端开发
前端|CSS信封的制作方法
前端|CSS信封的制作方法
436 0
|
移动开发 HTML5
可达鸭举牌网页版本在线生成源码html5
可达鸭举牌网页版本,在线生成源码,点击分享即可制作DIY自己的举牌文字网页,需要GIF动图的自行用GIF图片录制工具录制下来。
292 1
可达鸭举牌网页版本在线生成源码html5
|
计算机视觉
【YOLOv10训练教程】如何使用YOLOv10训练自己的数据集并且推理使用
【YOLOv10训练教程】如何使用YOLOv10训练自己的数据集并且推理使用
|
运维 Kubernetes 监控
深入了解Rancher Desktop设置
通过深入了解Rancher Desktop的设置,你可以更好地利用它来进行Kubernetes应用程序的开发和测试,提高工作效率和开发体验。
590 1
|
JSON 分布式计算 大数据
MaxCompute产品使用合集之如何解析嵌套的JSON数据
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
460 0