如何使用 Selenium Python 3.x 在私有模式下打开 Microsoft Edge (Chromium)?

How to open Microsoft Edge (Chromium) in private mode with Selenium Python 3.x?

有什么方法可以使用 Selenium 在私有模式下打开 Microsoft Edge (Chromium) Python。 我尝试了下面的代码,但它不起作用。

        options = webdriver.EdgeOptions()

        # try set --incognito option, but it does not work
        options.add_argument("--incognito")

        # try inprivate mode try set w3c option, but it does not work
        capabilities = DesiredCapabilities.EDGE
        capabilities['ms:inPrivate'] = True            

        self.mWebDriver = webdriver.Edge(executable_path=PATH_EDGE_WEBDRIVER, 
                                        options=options, capabilities=capabilities)

更新: 我也尝试使用“-inprivate”作为建议,但它仍然可以正常打开 Edge window

        options = webdriver.EdgeOptions()
        options.add_argument("-inprivate")

        self.mWebDriver = webdriver.Edge(executable_path=PATH_EDGE_WEBDRIVER, 
                                        options=options)

@RichEdwards 说“-inprivate”选项适用于 C# 源代码。所以我认为问题来自 python selenium 库,而不是 msededriver

谢谢。

如果您从命令行启动边缘,您可以使用 msedge.exe -inprivate 私下启动 - 这是您需要使用选项复制的内容。

这就是我在 C# 中的实现方式:

case "edgechromium":
    new DriverManager().SetUpDriver(new EdgeConfig(), "83.0.478.56");
    var options = new EdgeOptions();
    options.UseChromium = true;
    options.AddArgument("-inprivate");
    b = new EdgeDriver(options);
    break;

使用 python 和您的代码,只尝试这个参数:

        options.add_argument("-inprivate") 

[更新] 我看了一下 here - 这里有边缘工具可以提供帮助。

按照说明,我安装了工具:

pip install msedge-selenium-tools selenium==3.141

我 运行 python 中的此更新代码 - 包括 inprivate 标签

from msedge.selenium_tools import Edge, EdgeOptions

# Launch Microsoft Edge (Chromium)
options = EdgeOptions()
options.use_chromium = True
options.add_argument("-inprivate")
driver = Edge(options = options)

driver.get ("https://www.google.com")

我得到了-inprivate

我正在使用: Version 84.0.522.52 (Official build) (64-bit) - 这是最新的,没有更新(根据更新工具)

同意@RichEdwards 的建议

我建议尝试检查以下几点可能会帮助您缩小范围并解决问题。

  1. 确保您使用的网络驱动程序版本正确。检查您的浏览器版本并从 here 下载合适的驱动程序。如果能用最新稳定版的MS Edge浏览器测试一下就更好了。

  2. 确保您已经使用以下命令安装了 MS Edge Selenium 工具。

pip install msedge-selenium-tools selenium==3.141

示例代码:

from msedge.selenium_tools import Edge, EdgeOptions

options = EdgeOptions()
options.use_chromium = True
options.add_argument("-inprivate")
options.binary_location = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
driver = Edge(executable_path = r"D:\<driver path>\msedgedriver.exe", options = options) # Modify the path here...

# Navigate to URL
driver.get("https://example.com")

# Access web elements

driver.find_element_by_id('fname').send_keys("ABC")   

driver.find_element_by_id('lname').send_keys("XYZ")

driver.quit

输出: