首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Selenium运行Microsoft无头程序?

如何使用Selenium运行Microsoft无头程序?
EN

Stack Overflow用户
提问于 2020-12-06 17:51:07
回答 3查看 12.3K关注 0票数 6

使用Chrome,您可以在创建驱动程序时添加选项。你就这么做

代码语言:javascript
运行
复制
options = Options()
options.headless = True
driver = webdriver.Chrome(PATH\TO\DRIVER, options=options)

但是由于某种原因,当试图对Microsoft做同样的事情时

代码语言:javascript
运行
复制
options = Options()
options.headless = True
driver = webdriver.Edge(PATH\TO\DRIVER, options=options)

我知道这个错误

代码语言:javascript
运行
复制
TypeError: __init__() got an unexpected keyword argument 'options'

出于某种原因,Edge的驱动程序不接受文件路径以外的任何其他参数。有没有办法运行边缘无头,并添加更多的选项,就像在Chrome?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-12-06 18:12:44

代码语言:javascript
运行
复制
  options = EdgeOptions()
  options.use_chromium = True
  options.add_argument("headless")
  options.add_argument("disable-gpu")

尝试以上代码,您必须启用铬以启用无头。

https://learn.microsoft.com/en-us/microsoft-edge/webdriver-chromium/?tabs=python

这只适用于新的边缘铬,而不是边缘遗留版本。在旧版本中,不支持“无头”。

全码

代码语言:javascript
运行
复制
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='youredgedriverpath', options=edge_options)
票数 7
EN

Stack Overflow用户

发布于 2021-03-21 20:42:22

webdriver.Edge不接受任何options,因此我将其转换为以下内容:它为我工作。

代码语言:javascript
运行
复制
        # imports
        from selenium import webdriver
        from msedge.selenium_tools import EdgeOptions

        # options
        options = EdgeOptions()
        options.use_chromium = True
        options.add_argument("--headless")
        options.add_argument("disable-gpu")

        browser = webdriver.Chrome(
            executable_path="resources/msedgedriver.exe", options=options)
        browser.get(gen_token)

我使用的Microsoft Edge版本是:

Microsoft Edge版本89.0.774.57 (正式构建)(64位)

这对我有用。

票数 3
EN

Stack Overflow用户

发布于 2021-05-28 13:41:10

用于边缘浏览器

options = EdgeOptions()

options.use_chromium = True

options.add_argument('--allow-running-insecure-content')

options.add_argument("--ignore-certificate-errors")

self.wd = webdriver.Chrome(executable_path=EdgeChromiumDriverManager().install(), options=options)

self.wd.maximize_window()

用于边缘无头

options = EdgeOptions()

options.use_chromium = True

options.add_argument("--headless")

options.add_argument("disable-gpu")

options.add_argument('--allow-running-insecure-content')

options.add_argument('--ignore-certificate-errors')

self.wd = webdriver.Chrome(executable_path=EdgeChromiumDriverManager().install(), options=options)

self.wd.maximize_window()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65171183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档