我想為一個網站創建多個視窗,所以我需要為每個視窗設定新的身份。我認為,私人模式對我來說是個不錯的解決方案。但是舊的方法并沒有給出結果:
firefox_profile = webdriver.FirefoxProfile()
firefox_profile.set_preference("browser.privatebrowsing.autostart", True)
browser = webdriver.Firefox(firefox_profile=firefox_profile)
def main():
browser.switch_to.new_window('window')
browser.get("https://example.com")
我在碼頭找不到任何資訊,所以也許你可以幫忙
uj5u.com熱心網友回復:
根據Selenium 4 beta 1發行說明:
棄用驅動程式實體化中的所有引數
Options和Service引數。(#9125,#9128)
所以你會看到一個錯誤:
firefox_profile has been deprecated, please pass in an Options object
您必須使用 的實體Options來傳遞 FirefoxProfile 首選項,如下所示:
from selenium import webdriver
from selenium.webdriver import Firefox
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.chrome.service import Service
def main():
firefox_options = Options()
firefox_options.set_preference("browser.privatebrowsing.autostart", True)
s = Service('C:\\BrowserDrivers\\geckodriver.exe')
driver = webdriver.Firefox(service=s, options=firefox_options)
driver.get("https://www.google.com")
if __name__== "__main__" :
main()
瀏覽器快照:

參考
您可以在以下位置找到一些相關的詳細討論:
- 棄用警告:firefox_profile 已被棄用,請傳入一個選項物件
uj5u.com熱心網友回復:
這應該是“新”的方式:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--incognito")
service = Service(r"C:\Program Files (x86)\chromedriver.exe")
driver = webdriver.Chrome(service=service, options=chrome_options)
它應該與 Firefox 以相同的方式作業。
uj5u.com熱心網友回復:
我想出了如何為 Firefox 設定私有模式:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
def main():
firefox_options = Options()
firefox_options.add_argument('-private')
driver = webdriver.Firefox(options=firefox_options)
# driver.get("https://example.com")
if __name__ == "__main__":
main()
我用 get 注釋了 line,以確保瀏覽器真正以私有模式打開。您可以在選項卡名稱中看到它。
但它并沒有像我預期的那樣為每個新視窗提供新的身份。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/373625.html
標籤:Python 硒 火狐 壁虎司机 firefox-profile
上一篇:如何使表格適合整個頁面
