文件名:test12.py
from selenium import webdriver import time driver = webdriver.Chrome() file_path='http://www.baidu.com' driver.get(file_path) #获取百度搜索窗口句柄 search_windows=driver.current_window_handle driver.find_element_by_link_text('登录').click() driver.find_element_by_link_text('立即注册').click() #获取当前所有打开窗口的句柄 all_handles=driver.window_handles #进入注册窗口 for handle in all_handles: if handle!=search_windows: driver.switch_to.window(handle) print('now register window!') driver.find_element_by_name('userName').send_keys('username') driver.close() time.sleep(2) #回到搜索窗口 for handle in all_handles: if handle == search_windows: driver.switch_to.window(handle) print('now search window') #关闭登陆弹出框 driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_2__titleButtons"]').click() driver.find_element_by_xpath("//input[@id='kw']").send_keys("selenium") driver.find_element_by_id('su').click() time.sleep(2) driver.quit()
上述代码执行的过程是:首先打开百度首页,通过current_window_handle获取当前窗口的句柄,将当期句柄值赋给sreach_windows
通过driver.find_element_by_link_text('登录').click()打开弹出框,
通过driver.find_element_by_link_text('立即注册').click()进入到注册页面
通过driver.window_handles获取当前所有窗口句柄
第一个循环,若当前句柄不等于search_window,则一定不是百度首页,一定是注册窗口,则进行注册操作,注册操作完成后,通过driver.close关闭注册窗口
第二个循环,若为百度首页,则通过switch_to.window切换到百度首页,
通过 driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_2__titleButtons"]')关闭登陆弹出框。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。