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