Задача:
Есть TWiki страницы. В них нужно заменить слово1 на слово2. Сделать это надо на стороне клиента т.е. через web форму.
Проблема:
Когда работаю без селениума в браузере, он меня помнит и, даже, если не помнит, то достаточно вести данные один раз, и тогда запоминает. При работе через селениум не хочет запоминать и на каждой странице запрашивает идентификационные данные.
Открываю строницу в selenium webdriver. При попытке редактировать стриницу возникает запрос на идентификацию, с которым мне не удаются работать ни через селениум ни руками (работает только <ctrl+v> <ctrl+c> и смена фокуса мышкой). Поэтому хочу открыть страницу, один раз ввести пароль руками и все страницы открывать уже будучи идентифицированным (либо научиться работать с этой формой идентификации, но как не понимаю). Но этот редиска не запоминает меня, и запрашивает идентификацию каждый раз при октрытиb новой страницы (даже в одной сессии и в одной вкладке). Как его победить?
использую selenium-2.39.0 на линуксе, работаю через firefox
сервера запускаю так (пытался использовать профайл не помогло. возможно что-то делаю не то):
java -jar selenium-server-standalone-2.39.0.jar -firefoxProfileTemplate /home/msedov/.mozilla/firefox/e8bw0hxb.selenium -log selenium_server.log -debug &
код который на сочинял на python
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.common.exceptions import NoSuchElementException from selenium.common.exceptions import StaleElementReferenceException import time import pickle browser = webdriver.Firefox() link_list = {} cookies_list = {} # click edit button in the main TestGroup page browser.get('http://server_name/twiki/bin/view/TestGroup/WebHome') print ("Title: '"+browser.title+"'") element_edit_button = browser.find_element_by_xpath("/html/body/div[3]/div[2]/div/div/ul/li/a/b") #element_edit_button.click() try: element_edit_button.click() except StaleElementReferenceException: print ("Exception during opening") # тут появляется идентификационная форма, с которой мне не удается работать # ввожу данные руками, использую <ctrl+c>, <ctrl+v> element_edit_text = browser.find_element_by_xpath('//*[@id="topic"]') print (element_edit_text.text) element_cancel_button = browser.find_element_by_xpath('//*[@id="cancel"]') try: element_cancel_button.click() except StaleElementReferenceException: print ("Exception during canceling")
дальше открываю следующую страницу и пытаюсь ее редактировать, но получаю повторный запрос на идентификацию.
Отредактировать надо большое кол-во страниц, т.е. руками это делать не вариант.
Что я не учитываю? Как победить этого "злого монстра"? Буду рад любой помощи.