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

简介: 这篇文章探讨了自主探索问题答案的重要性,并通过解决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、还需要无头模式?主要解决什么问题?等等一系列问题。
本篇呢,主要是提醒各位,在很多答案上,没有人会告诉你一遍就会成功的经验,都需要自己不断摸索,不断去尝试挑战。

相关文章
|
2月前
|
人工智能 程序员
@AI程序员,这个需求接一下
@AI程序员,这个需求接一下
55 1
|
4月前
|
安全 网络协议 网络安全
【答案】2023年国赛信息安全管理与评估正式赛答案-模块3 理论技能
【答案】2023年国赛信息安全管理与评估正式赛答案-模块3 理论技能
|
4月前
|
安全 Linux 网络安全
【答案】2023年国赛信息安全管理与评估正式赛答案-模块2
【答案】2023年国赛信息安全管理与评估正式赛答案-模块2
【答案】2023年国赛信息安全管理与评估正式赛答案-模块2
|
4月前
|
人工智能 运维 自然语言处理
对话蚂蚁李建国:当前AI写代码相当于L2.5,实现L3后替代50%人类编程
超70%代码问题,单纯靠基座大模型是解决不了的;未来3-5年,人类50%编程工作可以被替代,有些环节甚至完全自动化。蚂蚁集团代码大模型CodeFuse负责人李建国说道。当下,AI代码生成领域正在野蛮式生长,巨头涌入,AI员工频频上线企业;首个AI程序员Devin被曝造假…… 面对风起云涌的代码生成变革,李建国给出了这样一个明确论断。
94 1
|
4月前
|
安全 网络协议 网络安全
【答案】2023年国赛信息安全管理与评估理论技能答案三阶段
【答案】2023年国赛信息安全管理与评估理论技能答案三阶段
|
4月前
|
人工智能 自然语言处理 自动驾驶
大模型领域急需建立可解释AI理论
【1月更文挑战第21天】大模型领域急需建立可解释AI理论
45 2
大模型领域急需建立可解释AI理论
|
11月前
|
人工智能 程序员 测试技术
AI人工智能时代,测试岗位程序员的未来:十个角度的探讨
AI人工智能时代,测试岗位程序员的未来:十个角度的探讨
155 0
|
人工智能 机器人 atlas
【2023B题】人工智能对大学生学习影响的评价(思路、代码)
【2023B题】人工智能对大学生学习影响的评价(思路、代码)
317 0
|
数据采集 人工智能 运维
案例酷 | AI变生产力?晶澳:这题我会答
编者按: 在遍寻全球解决方案之后,晶澳决定选择以钉钉为底座的一条更适合本土企业的数字化道路,如今成效初显。以数据驱动生产效率,用低成本的应用打通原有信息系统的信息流,产生巨大的协同作用——晶澳的数字化经验不仅是自身的良方,还有可能成为行业复用的方案。
227 0