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

2024-09-25 18:23:06 发布

您现在位置:Python中文网/ 问答频道 /正文

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

        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”作为建议,但它仍然在正常窗口中打开边缘

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

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

@RichEdwards说“-inprivate”选项与C#源代码一起工作。因此,我认为问题来自python selenium库,而不是MSEdge驱动程序

谢谢


Tags: notitbutoptionsoptiontrywebdriverset
2条回答

如果从命令行启动edge,则可以使用msedge.exe -inprivate启动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")

我得到了一份私人的工作 edge private

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

我同意RichEdwards提出的建议

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

  1. 确保您使用的是正确版本的web驱动程序。检查浏览器版本并从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

输出:

enter image description here

相关问题 更多 >