首页 > 解决方案 > 如何使用 Selenium 使用我的书签和设置打开浏览器实例?

问题描述

我使用勇敢的浏览器作为我的默认浏览器,但我想知道当我运行我的代码而不是没有我所有的书签和密码的新实例时,是否可以打开我的常规浏览器配置文件?

提前致谢!

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import datetime

day = datetime.datetime.now()
dag = day.weekday()
def Testing():
    if dag >= 5:
        return Weekend()
    else:
        return Weekday()


def Weekend():
    options = Options()
    options.add_argument("--window-size=1920,1080")
    ## options.add_argument("/Users/vadim/Library/Application Support/BraveSoftware/Brave-Browser")
    options.binary_location = '/Applications/Brave Browser.app/Contents/MacOS/Brave Browser'
    driver_path = '/usr/local/bin/chromedriver'
    driver = webdriver.Chrome(options=options, executable_path=driver_path)
    driver.get('https://outlook.live.com/mail/0/inbox')
    Outlook_Aanmelden = driver.find_element_by_xpath('/html/body/header/div/aside/div/nav/ul/li[2]/a')
    Outlook_Aanmelden.click()
    Email_Field = driver.find_element_by_xpath('//*[@id="i0116"]')
    Email_Field.send_keys('@live.com')
    Outlook_Volgende = driver.find_element_by_xpath('//*[@id="idSIButton9"]')
    Outlook_Volgende.click()
    time.sleep(0.5)
    Password_Field = driver.find_element_by_xpath('//*[@id="i0118"]')
    Password_Field.send_keys('pass')
    Password_Field.send_keys(Keys.ENTER)
    Inlog_Outlook = driver.find_element_by_xpath('//*[@id="idSIButton9"]')
    Inlog_Outlook.click()

    driver.execute_script("window.open('https://youtube.com');")

def Weekday():
    options = Options()
    options.add_argument("--window-size=1920,1080")
    ## options.add_argument("/Users/vadim/Library/Application Support/BraveSoftware/Brave-Browser")
    options.binary_location = '/Applications/Brave Browser.app/Contents/MacOS/Brave Browser'
    driver_path = '/usr/local/bin/chromedriver'
    driver = webdriver.Chrome(options=options, executable_path=driver_path)
    driver.get('https://outlook.live.com/mail/0/inbox')
    Outlook_Aanmelden = driver.find_element_by_xpath('/html/body/header/div/aside/div/nav/ul/li[2]/a')
    Outlook_Aanmelden.click()
    Email_Field = driver.find_element_by_xpath('//*[@id="i0116"]')
    Email_Field.send_keys('@live.com')
    Outlook_Volgende = driver.find_element_by_xpath('//*[@id="idSIButton9"]')
    Outlook_Volgende.click()
    time.sleep(0.5)
    Password_Field = driver.find_element_by_xpath('//*[@id="i0118"]')
    Password_Field.send_keys('pass')
    Password_Field.send_keys(Keys.ENTER)
    Inlog_Outlook = driver.find_element_by_xpath('//*[@id="idSIButton9"]')
    Inlog_Outlook.click()

    driver.execute_script("window.open('https://youtube.com');")

Testing()

所以是的,这个问题已经有一段时间了,还没有找到任何似乎知道解决方案的人,也许你可以帮助我?

标签: pythonselenium

解决方案


您需要chrome像这样加载您的用户配置文件。假设它是铬而不是勇敢。

from selenium import webdriver

chrome_options = webdriver.ChromeOptions() 
chrome_options.add_argument('user-data-dir=<path to chrome profile>') 
browser = webdriver.Chrome(chrome_options=chrome_options)

Chrome 的默认配置文件文件夹的位置因您的平台而异。地点是:

Windows 7, 8.1, and 10: C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default

Mac OS X El Capitan: Users/<username>/Library/Application Support/Google/Chrome/Default

Linux: /home/<username>/.config/google-chrome/default

推荐阅读