Альтернативы селена для автоматизации ввода данных? - PullRequest
0 голосов
/ 29 февраля 2020

В настоящее время я использую селен для автоматизации ввода данных на веб-сайт. Веб-сайт никогда не меняется, и поля всегда одинаковы, очевидно, что данные различаются.

Как я хочу, чтобы это работало, чтобы пользователь уже вошел в систему на веб-сайте, он запускает скрипт, и в текущей сессии браузера открывается новая вкладка с соответствующими полями, в которых содержатся данные.

В данный момент он открывает новый сеанс Chrome (игнорируя логин предыдущего сеанса), должен войти на сайт, открыть новую вкладку, go на странице ввода данных и пу sh ключи оттуда. Это может быть трудоемким занятием, и мне не нравится, как оно каждый раз входит в систему. Фрагмент моего кода ниже.

req = request.get_json()
jsonify(req)
url1 = "www.loginpage.com"
driver = webdriver.Chrome(executable_path=r'chromedriver.exe')
driver.get(url1)

u = driver.find_element_by_id('username')
u.send_keys("username")
u = driver.find_element_by_id('password')
u.send_keys("password")
u = driver.find_element_by_id('loginButton').submit()

driver.execute_script('''window.open("www.datainputpage.com","_blank");''')
driver.switch_to_window(driver.window_handles[1])
driver.find_element_by_id('Field1').send_keys(req[0])
driver.find_element_by_id('Field2').send_keys(req[1])
driver.find_element_by_id('Field3').send_keys(req[2])
driver.find_element_by_id('Field4').send_keys(req[3])

Есть ли способ с помощью python Я могу автоматизировать его, как уже упоминалось? Открывает новую вкладку в текущей сессии - заполняет поля?

1 Ответ

0 голосов
/ 29 февраля 2020

Вы можете использовать профили в Chrome. Вы указываете каталог своего профиля, и все куки и прочее будут сохраняться там. Поэтому при следующем запуске он должен загрузить те же файлы cookie из предыдущего сеанса и оставаться в системе.

chrome_options = Options() 
chrome_options.add_argument("user-data-dir=selenium")
driver = webdriver.Chrome(executable_path=r'chromedriver.exe', chrome_options=chrome_options)

Другим возможным вариантом является сохранение файлов cookie в файл json, затем на следующем запустите, загрузите их и установите в браузере.

Selenium Cookies

Чтение и запись JSON

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...