重用先前打开的硒窗口

时间:2018-07-02 10:56:58

标签: python-3.x selenium selenium-webdriver selenium-chromedriver browser-automation

我一直在使用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的解答!

0 个答案:

没有答案