Студент 1 курса

Достижения

Все достижения (6)

Наибольший вклад в теги

Все теги (14)

Лучшие ответы пользователя

Все ответы (6)
  • Как сохранять установленный аддон firefox через selenium?

    @dandyvssega Автор вопроса
    Начинаю кодить
    При установке аддона(аддон работает без перезапуска) происходят изменения в файлах что на скрине9fa610f0e9994d9994e0a694f0d92536.png

    P.S. В итоге оказывается что селениум создает копию папки профиля во временной директории и работает с ней.После закрытия через driver.quit() эта папка удаляется,соответственно все что установлено и записано(аддоны ,настройки и тд) пропадают с этой папкой.Как решение пока сделал для себя вот такой код ( для профи код конечно покажется смешным извращением,но что поделать,все когда-то начинали = ) )

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support.ui import Select
    
    import datetime
    import time
    import random
    
    from datetime import datetime
    from random import randint
    from random import choice
    from string import ascii_lowercase
    from string import digits
    import os
    import shutil
    
    from shutil import copytree, ignore_patterns
    
    
    
    def regger():
        count = 1
        login = 'testprofile2@mail.com'
        shutil.copytree('/home/user/.mozilla/firefox/source/', "/home/user/.mozilla/firefox/"+ str("source") + str(count))
        profile = "/home/user/.mozilla/firefox/source" + str(count)
    
        fp = webdriver.FirefoxProfile(profile)
    
    #   Addons
        directory = '/home/user/ffadns/'
        files = os.listdir(directory)
        addon = directory + str(random.choice(files)); addon2 = directory + str(random.choice(files)); addon3 = directory + str(random.choice(files))
        fp.add_extension(addon); fp.add_extension(addon2); fp.add_extension(addon3)
        addon_name = addon.split('/'[-1]) ; addon2_name = addon2.split('/'[-1]); addon3_name = addon3.split('/'[-1])
    
        driver = webdriver.Firefox(fp)
        dd = fp.profile_dir.split('/')
        tempProfile_name = dd[-2]
        shutil.move('/tmp/' + str(tempProfile_name) + '/webdriver-py-profilecopy/', '/tmp/' + str(login))
        shutil.copytree('/tmp/' + login, '/home/user/.mozilla/firefox/' + login, ignore=ignore_patterns('lock'))
        shutil.rmtree('/home/user/.mozilla/firefox/source1')
        driver.quit()
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (26)