python - 如何使用 Selenium Python 无头运行 Microsoft Edge?
问题描述
使用 Chrome,您可以在创建驱动程序时添加选项。你只是做
options = Options()
options.headless = True
driver = webdriver.Chrome(PATH\TO\DRIVER, options=options)
但出于某种原因,在尝试对 Microsoft Edge 做同样的事情时
options = Options()
options.headless = True
driver = webdriver.Edge(PATH\TO\DRIVER, options=options)
我收到这个错误
TypeError: __init__() got an unexpected keyword argument 'options'
由于某种原因,Edge 的驱动程序不接受文件路径以外的任何其他参数。有没有办法像 Chrome 一样无头运行 Edge 并添加更多选项?
解决方案
options = EdgeOptions()
options.use_chromium = True
options.add_argument("headless")
options.add_argument("disable-gpu")
试试上面的代码,你必须启用铬才能启用无头
https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/?tabs=python
这仅适用于新边缘铬不适用于边缘旧版本。在旧版本中,不支持无头
完整代码
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)
推荐阅读
- c - 为什么我的自动变量总是给出 0 而不是垃圾值?
- python - 如何使用 python 查找 tiff 文件中存在的图像(页面)的原始格式?
- javascript - 为什么单击单个删除按钮时除了一个图像之外的所有图像都被删除?
- python - 调试我的二叉树搜索和算法
- android - 数据绑定在动态功能模块中不起作用,在引用绑定的视图时导致空指针异常
- c - 编译 HPC Challenge Benchmark 时出现未声明的变量错误
- html - 如何在多个文件条件下设置文件上传限制
- apache-spark - “应用程序尝试...在 ApplicationMasterService 缓存中不存在”原因?(Pregel:非收敛算法对集群的 maxIterations 影响)
- optimization - AnyLogic:有没有办法在优化实验中指定决策变量数组?
- php - 将数学表达式拆分为数组,而不在括号和单引号之间拆分子表达式