selenium python瀏覽器多窗口處理代碼示例
本文主要研究的是selenium python瀏覽器多窗口處理的相關(guān)內(nèi)容,分享了操作實例代碼,具體如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
__author__ = 'zuoanvip'
#在測試過程中有時候會遇到出現(xiàn)多個瀏覽器窗口的情況,這時候我們可以通過窗口的句柄來操作不同窗口的元素
from selenium import webdriver
import os
import time
driver =webdriver.Firefox()
driver.get('http://www.baidu.com')
#獲得當前窗口的句柄
nowwhandle = driver.current_window_handle
#打開注冊新窗口
driver.find_element_by_name('tg_reg').click()
#獲取所有窗口的句柄
allhandles = driver.window_handles
#循環(huán)判斷窗口是否為當前窗口
for handle in allhandles:
if handle != nowwhandle:
driver.switch_to_window(handle)
print 'Now register window!'
#切換到郵箱注冊標簽
driver.find_element_by_id('mailRegTab').click()
time.sleep(5)
driver.close()
#返回原先到的窗口
driver.switch_to_window(nowwhandle)
driver.find_element_by_id('kw').send_keys(u'注冊成功')
driver.quit()
執(zhí)行過程為:首先通過nowhandle獲得當前窗口的句柄,隨后打開注冊窗口;通過allhandles獲得所有窗口的句柄;對句柄進行循環(huán)遍歷;判斷窗口是否為nowhandle,如果不是則獲得當前窗口的句柄,對當前頁面 的元素進行操作,最后返回nowhandle
總結(jié)
以上就是本文關(guān)于selenium python瀏覽器多窗口處理代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
解決Jupyter Notebook開始菜單欄Anaconda下消失的問題
這篇文章主要介紹了解決Jupyter Notebook開始菜單欄Anaconda下消失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
PyCharm 無法 import pandas 程序卡住的解決方式
這篇文章主要介紹了PyCharm 無法 import pandas 程序卡住的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python中獲取網(wǎng)頁狀態(tài)碼的兩個方法
這篇文章主要介紹了Python中獲取網(wǎng)頁狀態(tài)碼的兩個方法,分別使用urllib模塊和requests模塊實現(xiàn),需要的朋友可以參考下2014-11-11
Python實現(xiàn)創(chuàng)建模塊的方法詳解
導入一個模塊,我們一般都會使用?import?關(guān)鍵字,但有些場景下?import?難以滿足我們的需要。所以除了?import?之外還有很多其它導入模塊的方式,下面就來介紹一下2022-07-07
Python并發(fā)編程多進程,多線程及GIL全局解釋器鎖
這篇文章主要介紹了Python并發(fā)編程多進程,多線程及GIL全局解釋器鎖,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-07-07

