zoukankan      html  css  js  c++  java
  • 【Python3 爬虫】U36_selenium打开多窗口和切换窗口

    1.示例说明

    有时候窗口中有很多子tab页面。这时候肯定是需要进行切换的。

    selenium提供了一个叫做switch_to_window来进行切换,具体切换到哪个页面,可以从driver.window_handles中找到。示例代码如下:

    # 打开一个新的页面
     
    self.driver.execute_script("window.open('https://www.baidu.com')")
     
    #显示当前页面的url
     
    driver.current_url   //还是百度页面
     
    # 切换到这个新的页面中
    driver.switch_to.window(driver.window_handles[1])
    

    2.实战演练

    from selenium import webdriver
    
    # chromedriver的绝对路径
    driver_path = r'E:Pythonchromedriver.exe'
    
    # 初始化一个driver,并且指定chromedriver的路径
    driver = webdriver.Chrome(executable_path=driver_path)
    
    # 请求网页
    driver.get("https://www.baidu.com/")
    
    driver.execute_script("window.open('http://www.hao6v.com')")
    
    # 打印窗口句柄
    print(driver.window_handles)
    
    # 切换窗口
    driver.switch_to.window(driver.window_handles[1])
    
    print(driver.current_url)
    print(driver.page_source)
    
    # 虽然在窗口中切换到了新的页面,但是driver中还没切换
    # 如果想要在代码中切换到新的页面,并爬取页面,那么应该使用driver.switch_to.window来切换到指定的窗口
    # 从driver.window_handles中取出具体是 第几个窗口
    # driver.window_handles是一个列表,里边存储的是窗口句柄。他会按照打开的顺序来存储窗口句柄
    
  • 相关阅读:
    C++实现base64编解码
    使用matplotlib绘制3D函数图像
    C++分治策略实现快速排序
    C++分治策略实现二分搜索
    C++生成随机数
    eBay 表结构
    mysql 流程函数
    无限极分类
    PHP 导出 Excell
    js
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12677932.html
Copyright © 2011-2022 走看看