文件名: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"]')关闭登陆弹出框。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。