Повторное использование ранее открытого окна селена - PullRequest
0 голосов
/ 02 июля 2018

Я тестировал различные задачи автоматизации с использованием библиотеки Selenium Python. Я столкнулся с очень серьезной проблемой в этом процессе. Это задержка, вызванная плохим интернет-соединением. Начальные шаги одинаковы для всех задач, а именно - открыть браузер - перейти на сайт - авторизоваться - открыть определенную ссылку после входа в систему

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

Вот что я уже тестировал:

Пример исходного файла:

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs",prefs)

driver = webdriver.Chrome(r'C:\testDir\chromedriver_win32\chromedriver.exe', chrome_options=chrome_options)

url = driver.command_executor._url      
session_id = driver.session_id          

print("URL:",url,"SESSION ID:",session_id)

driver.get('http://www.facebook.com')

username = "---"
password = "---"

driver.find_element_by_name('email').send_keys(username)
driver.find_element_by_name('pass').send_keys(password)
driver.find_element_by_name('login').click()    
# time.sleep(2)
driver.maximize_window()
time.sleep(2)
driver.find_elements_by_name('q').send_keys('Ayush Mandowara')  
# element = wait.until(EC.presence_of_element_located((By.xpath, '//input[@placeholder="Search"]'))
driver.find_element_by_xpath('//input[@placeholder="Search"]').send_keys('Ayush Mandowara' + Keys.RETURN)
time.sleep(4)

driver.find_element_by_xpath('//div[contains(text(), "Ayush Mandowara")]').click()
time.sleep(3)
driver.find_element_by_class_name('coverBorder').click()
time.sleep(2)

Соединительный файл:

from connectingToPrev import url, session_id    

driver = webdriver.Remote(command_executor=url,desired_capabilities={})
driver.session_id = session_id

driver.get("http://www.google.com")

Этот соединительный файл соответствует тому, что уже произошло в предыдущем окне, я ожидал, что он либо подключится к предыдущему окну, либо откроет последнюю ссылку с правильными учетными данными

Ответ на Python приветствуется!

...