• 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 """
  • 相关阅读:
    0302 随想
    1231递归下降语法分析程序设计
    《构建之法》1、2、3章读后感
    复利计算总结
    操作系统实验0
    学习进度条
    0302思考并回答一些问题
    评论
    c语言文法
    词法分析
  • 原文地址:https://www.cnblogs.com/sruzzg/p/13170758.html
Copyright © 2020-2023  润新知