簡體   English   中英

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

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

有什么方法可以使用 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”作為建議,但它仍然在正常 window 中打開 Edge

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

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

@RichEdwards 說“-inprivate”選項適用於 C# 源代碼。 所以我認為問題來自 python selenium 庫,而不是 msedgedriver

謝謝。

我同意@RichEdwards 給出的建議

我建議嘗試檢查以下幾點可能會幫助您縮小范圍並解決問題。

  1. 確保您使用的是正確版本的 web 驅動程序。 檢查您的瀏覽器版本並從此處下載相應的驅動程序。 如果您可以使用最新穩定版的 MS Edge 瀏覽器進行測試,那就更好了。

  2. 確保您已使用以下命令安裝 MS Edge Selenium 工具。

pip 安裝 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

Output:

在此處輸入圖像描述

如果您從命令行啟動 edge,您可以使用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") 

[更新] 我看過這里- 這里有一些邊緣工具可以提供幫助。

按照說明,我安裝了工具:

pip install msedge-selenium-tools selenium==3.141

我在 python 中運行了這個更新的代碼——包括私有標簽

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")

我得到-私人邊緣私有

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM