python自动化—web页面操作之窗口切换
生活随笔
收集整理的這篇文章主要介紹了
python自动化—web页面操作之窗口切换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
from selenium import webdriverdriver=webdriver.Chrome()#設置隱形等待時間 設置成全局的,每個元素需要等待10s 養成習慣
driver.implicitly_wait(10)#打開搜狗搜索
driver.get('http://www.sogou.com')#定位輸入框,輸入nba
driver.find_element_by_xpath('//input[@name="query"]').send_keys('nba')#定位到搜狗搜索按鈕,點擊butten
driver.find_element_by_xpath('//input[@value="搜狗搜索"]').click()#定位到title,點擊butten
driver.find_element_by_xpath('//p[@class="title-summary "]').click()#打印當前頁面
print(driver.current_url)
此時打開了新的頁面,默認停在第一個頁面,所以才會打印第一個頁面的url(和手動操作不一致)
怎么辦?
1、先打印所有的窗口,以列表的形式展示[‘窗口id1’,‘窗口id2’,‘窗口id3’]===>句柄
windows=driver.window_handles
print(windows)
2、窗口的切換,切換到最后一個窗口
driver.switch_to.window(windows[-1])
打印當前的頁面
print(driver.current_url)
3、如果切換到最新的窗口
首先獲取當前的窗口
current_window=driver.current_window_handle
獲取當前窗口的索引
window_index=windows.index(current_window)
獲取下一個窗口的索引
next_window_index=windows.index(current_window)+1
下一個窗口的句柄
driver.switch_to.window(windows[next_window_index])
總結
以上是生活随笔為你收集整理的python自动化—web页面操作之窗口切换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法—顺序表(一)
- 下一篇: 算法—顺序表之列表的扩容机制(pytho