• 【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是一个列表,里边存储的是窗口句柄。他会按照打开的顺序来存储窗口句柄
    
  • 相关阅读:
    Ubuntu命令行快捷启动Matlab
    用xmanager6启动Linux上的图形界面程序
    Winscp远程连接Linux主机,上传和下载文件
    Xshell6连接Ubuntu18.04
    Windows10通过VNC远程连接Ubuntu18.04
    获取Linux ip
    关联Anaconda和最新Pycharm2018.3.2
    asp.net mvc 外网获取不到port问题解决
    js 毫秒换算成秒
    c# 监听文件夹动作
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12677932.html
Copyright © 2020-2023  润新知