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

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

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
现实需求巨大,技术尚未成熟,学界与业界该如何迎战?CCAI 2017“语言智能与应用”论坛带你寻找答案
作为人工智能皇冠上的明珠,自然语言理解不断吸引着学术界与产业界的目光。然而,在这个极具挑战性领域,若干理论问题和技术难题尚未得到根本解决,而现实生活和社会中又面临着巨大的应用需求。如何通过学术界和产业界的共同努力,让其在实际应用中发挥更大的作用,在研究与应用的相互反馈中共同进步? 为此,7
2285 0
|
6月前
|
安全 Linux 调度
Linux内核开发流程指南 - 3. 早期规划【ChatGPT】
Linux内核开发流程指南 - 3. 早期规划【ChatGPT】
|
10月前
|
安全 网络协议 网络安全
【答案】2023年国赛信息安全管理与评估理论技能答案三阶段
【答案】2023年国赛信息安全管理与评估理论技能答案三阶段
|
10月前
|
安全 Linux Android开发
【答案】2023年国赛信息安全管理与评估二阶段答案
【答案】2023年国赛信息安全管理与评估二阶段答案
【答案】2023年国赛信息安全管理与评估二阶段答案
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
学习的过程不只是知识查找,社群的价值是陪伴!
学习的过程不只是知识查找,社群的价值是陪伴!
89 0
|
4月前
|
JSON 人工智能 自然语言处理
Way To Prompt系列(1): 为什么大模型连"Strawberry"的"r"都数不对?一招“理由先行”显著提升模型思考能力
本文将从两个常见的大模型翻车问题入手解析这些问题背后体现的大模型技术原理(Tokenization与预测下一个Token),并解释了为什么会导致这些问题,接着我们利用CoT(思维链)方法解决这些问题并基于上述原理试图剖析CoT方法起作用的可能原因,最后提出【理由先行】风格这一简单有效的Prompt Trick。
141 2
|
10月前
|
人工智能 算法 前端开发
想转行IT,有前途嘛?30个详细理由中会得到你想要的答案
想转行IT,有前途嘛?30个详细理由中会得到你想要的答案
191 0
|
人工智能 供应链 自动驾驶
人工智能何去何从,下面的几幅图也许能给你答案
人工智能何去何从,下面的几幅图也许能给你答案
人工智能何去何从,下面的几幅图也许能给你答案
|
机器人 Java 程序员
首次公开!三代技术人深度对话,《云上朗读者》开放下载
阿里云 MVP历时上百天,走近各行各业一线技术人,倾听他们成功背后的故事。蒋江伟(小邪)推荐——18位在前线的阿里云 MVP不为人知的心路历程,科技发展与经济格局的变化,抓住时代机遇勇于创新,从容面对挑战,走近三代技术人解锁他们对新基建与云上未来的深刻洞见。
27466 0
首次公开!三代技术人深度对话,《云上朗读者》开放下载

热门文章

最新文章