您好,登錄后才能下訂單哦!
文件名: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("http://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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。