6_6 模拟浏览器的前进后退&窗口句柄切换

一、可以使用driver.get()方法打开多个窗口但是会覆盖,所以可以用前进后退进行操作

from selenium import webdriver
import time

driver_path = r"D:\install\chromedriver\chromedriver.exe"
driver = webdriver.Chrome(executable_path = driver_path)

#模拟浏览器的前进后退
driver.get('https://www.baidu.com/')
driver.get('https://www.taobao.com')
driver.back()       # 后退到前一个页面
time.sleep(5)
driver.forward()    # 前进到前一个页面
time.sleep(3)
driver.close()

二、打开多个窗口及窗口间切换(重要)

 1 """"""
 2 
 3 
 4 from selenium import webdriver
 5 
 6 driver_path = r"D:\install\chromedriver\chromedriver.exe"
 7 driver = webdriver.Chrome(executable_path = driver_path)
 8 
 9 # 打开多窗口页面
10 driver.get('https://www.baidu.com/')
11 driver.execute_script("window.open('https://www.taobao.com')")
12 print(driver.current_url)       # https://www.baidu.com/
13 # 获取所有窗口句柄
14 all_h = driver.window_handles
15 print(all_h)
16 # 切换窗口句柄
17 driver.switch_to.window(all_h[-1])      # 切换到最后一个
18 print(driver.current_window_handle)
19 print(driver.current_url)       #https://www.taobao.com/
20 
21 """
22 虽然在窗口中切换到了新的页面,但是driver中还没有切换
23 如果想要在代码中切换到新的页面,并进行爬取,那么要使用driver.switch_to.window()来指定切换的窗口
24 可以从driver.window_handles中获取窗口句柄,并进行选取。它是以窗口打开的顺序存储窗口的句柄。
25 """

 

你可能感兴趣的:(6_6 模拟浏览器的前进后退&窗口句柄切换)