zoukankan      html  css  js  c++  java
  • 6_6 模拟浏览器的前进后退&窗口句柄切换

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

    from selenium import webdriver
    import time
    
    driver_path = r"D:installchromedriverchromedriver.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:installchromedriverchromedriver.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 """
  • 相关阅读:
    PostMan系列之—-01 简介
    JMeter 系列之—-04 支持CI
    JMeter 系列之—-03 生成脚本
    Jenkins基础篇 系列之-—09 认识钩子
    jenkins高级篇 pipeline系列之-—04语法
    Jenkins基础篇 系列之-—08 实现SQL脚本批量执行补充
    Cypress 系列之----04 登录的不同实现
    【自己的下载平台】搭建aria2网站
    【h5ai】搭建服务器目录
    java面试 (六)
  • 原文地址:https://www.cnblogs.com/sruzzg/p/13170758.html
Copyright © 2011-2022 走看看