如何使用selenium正确调用edge浏览器?

Wee*_*kie 0 selenium python-3.x microsoft-edge

该项目的目标是使用 selenium-python 使用 Microsoft Edge 浏览器自动检查站点 我从此链接下载了 Edge Legacy 的 WebDriver ,我选择了最新版本 17134 提取它,没有任何问题,现在可以说我想访问facebook 使用 geckodriver 以自动化的方式与 firefox 一起使用

使用 selenium 的 Firefox 代码示例

from  selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.options import Options

# setting up headless option for faster execution
options = Options()
options.headless = True


browser = (webdriver.Firefox(options=options))
browser.get('https://www.facebook.com/')
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用 Windows 10 中内置的 Microsoft Edge 时,出现属性错误

from  selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.edge.options import Options



options = Options()
options.headless = True

#browser = webdriver.edge(options=options)
browser = webdriver.edge()
Run Code Online (Sandbox Code Playgroud)

ps :当我取消注释这部分时 (browser = webdriver.edge(options=options)) 我收到模块未找到错误

调用 Microsoft Edge 浏览器的正确方法是什么,或者我做错了什么

小智 5

当我使用 Edge 并尝试让 Edge 无头时。我也发现像 Chrome 一样,通过细微的改变很难做到这一点。我参考了官方文档,得到了官方的解决方案。除了selenium之外,还需要安装msedge-selenium-tools,只需pip install即可pip install msedge-selenium-tools。并Edge在 msedge 工具中使用 Class。就像:

from msedge.selenium_tools import Edge
driver = Edge(executable_path='where')
Run Code Online (Sandbox Code Playgroud)

如果我们想让 Edge 无头,我们需要使用EdgeOptionsselenium.webdriver 不提供的类。selenium.webdriver 只为我们提供了 ChromeOptions、FirefoxOptions 和 Ie 的。EdgeOptions 位于一个单独的包中msedge.selenium_tools。然后我们像在 Firefox 或 Chrome 上所做的那样添加参数。在此之前,我们需要将属性use_chromium设置为 True。整个代码:

from msedge.selenium_tools import EdgeOptions
from msedge.selenium_tools import Edge

# make Edge headless
edge_options = EdgeOptions()
edge_options.use_chromium = True  # if we miss this line, we can't make Edge headless
# A little different from Chrome cause we don't need two lines before 'headless' and 'disable-gpu'
edge_options.add_argument('headless')
edge_options.add_argument('disable-gpu')

driver = Edge(executable_path='where', options=edge_options)
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。抱歉我的解释很尴尬。