1. 程式人生 > >selenium 選項卡問題(彈出新頁面無法定位到新的頁面)

selenium 選項卡問題(彈出新頁面無法定位到新的頁面)

如題,當我使用selenium操作開啟一個新的選項卡的時候(如下圖),無法從當前所處的頁面定位到新的頁面上(如下圖,打開了新的頁面,但再次發起請求時只能在百度的頁面上跳轉到淘寶頁面)

from selenium import webdriver
import time

browser=webdriver.Chrome()
browser.get('https://www.baidu.com')
browser.execute_script('window.open()')
browser.get('https://www.taobao.com')

這裡寫圖片描述

解決方案:使用switch_to_window

方法,定位到新開啟的頁面,而新開啟的頁面的地址為window_handles[1]

修改後程式碼如下:

from selenium import webdriver
import time

browser=webdriver.Chrome()
browser.get('https://www.baidu.com')
#開啟一個新頁面
browser.execute_script('window.open()')
#定位到新的頁面
browser.switch_to_window(browser.window_handles[1])
browser.get('https://www.taobao.com'
) time.sleep(1) #定位回原來的頁面 browser.switch_to_window(browser.window_handles[0]) browser.get('https://python.org')

這裡寫圖片描述

根據程式碼可發現,先定位到新的頁面,並跳轉到淘寶。然後定位回原先的頁面,並從百度跳轉到python官網