Selenium 的边缘自动化 - 不断需要凭证
Edge automation with Selenium - Credential required constantly
我想打开例如Google 使用 Selenium 的 Edge 页面和 Python 公司网络内部。
from selenium import webdriver
browser = webdriver.Edge(r"C:/_path_to_driver_/msedgedriver.exe")
browser.get("https://www.google.com")
Edge 打开此站点并要求我插入邮件。
输入邮件后,它会将我重定向到此页面:
我必须始终手动单击“确定”。 Selenium 是无法点击那个 OK 的。
知道如何执行点击吗?或者有什么方法可以存储我的邮件地址或证书而不总是被要求吗?此问题仅发生在由 selenium 控制的 Edge 上。默认 Edge 会记住所有设置。
如果我们不带任何参数地使用 selenium webdriver 来自动化 Edge,它每次都会创建一个新的配置文件,而不是使用现有的用户数据配置文件。这就是它每次都要求提供凭据的原因。
作为解决方法,您可以使用 user-data-dir
和 profile-directory
来使用特定的配置文件来启动使用 Selenium WebDriver 的 Edge。您可以使用存储凭据的配置文件,以便在您自动化 Edge 时它不会要求提供凭据。我认为您的情况是默认的 Edge 配置文件。
您需要使用命令pip install msedge-selenium-tools selenium==3.141
安装 MS Edge Selenium 工具,然后参考下面的示例代码:
from msedge.selenium_tools import Edge, EdgeOptions
edge_options = EdgeOptions()
edge_options.use_chromium = True
#Here you set the path of the profile ending with User Data not the profile folder
edge_options.add_argument("user-data-dir=C:\Users\username\AppData\Local\Microsoft\Edge\User Data");
#Here you specify the actual profile folder
edge_options.add_argument("profile-directory=Profile 2");
driver = Edge(options = edge_options, executable_path = r"C:\_path_to_driver_\msedgedriver.exe")
driver.get('https://www.google.com')
注意:将代码中的路径更改为您自己的。
如果您不知道具体配置文件的路径,您可以检查edge://version/
,如下所示:
我想打开例如Google 使用 Selenium 的 Edge 页面和 Python 公司网络内部。
from selenium import webdriver
browser = webdriver.Edge(r"C:/_path_to_driver_/msedgedriver.exe")
browser.get("https://www.google.com")
Edge 打开此站点并要求我插入邮件。
输入邮件后,它会将我重定向到此页面:
我必须始终手动单击“确定”。 Selenium 是无法点击那个 OK 的。 知道如何执行点击吗?或者有什么方法可以存储我的邮件地址或证书而不总是被要求吗?此问题仅发生在由 selenium 控制的 Edge 上。默认 Edge 会记住所有设置。
如果我们不带任何参数地使用 selenium webdriver 来自动化 Edge,它每次都会创建一个新的配置文件,而不是使用现有的用户数据配置文件。这就是它每次都要求提供凭据的原因。
作为解决方法,您可以使用 user-data-dir
和 profile-directory
来使用特定的配置文件来启动使用 Selenium WebDriver 的 Edge。您可以使用存储凭据的配置文件,以便在您自动化 Edge 时它不会要求提供凭据。我认为您的情况是默认的 Edge 配置文件。
您需要使用命令pip install msedge-selenium-tools selenium==3.141
安装 MS Edge Selenium 工具,然后参考下面的示例代码:
from msedge.selenium_tools import Edge, EdgeOptions
edge_options = EdgeOptions()
edge_options.use_chromium = True
#Here you set the path of the profile ending with User Data not the profile folder
edge_options.add_argument("user-data-dir=C:\Users\username\AppData\Local\Microsoft\Edge\User Data");
#Here you specify the actual profile folder
edge_options.add_argument("profile-directory=Profile 2");
driver = Edge(options = edge_options, executable_path = r"C:\_path_to_driver_\msedgedriver.exe")
driver.get('https://www.google.com')
注意:将代码中的路径更改为您自己的。
如果您不知道具体配置文件的路径,您可以检查edge://version/
,如下所示: