zoukankan      html  css  js  c++  java
  • 基于python语言的selenium2 的多窗口切换问题记录及解决方法

    #!/usr/bin/env python 
    # -*- coding:utf-8 -*-
    from selenium import webdriver
    import time

    driver = webdriver.Firefox()
    #driver.implicitly_wait(10)

    driver.get('http://www.baidu.com')


    #获取百度搜索窗口的句槟
    sreach_windows = driver.current_window_handle
    #driver.find_element_by_link_text('登录').click() 这样写定位不到元素我换中方式如下可以
    driver.find_element_by_css_selector("#u1 > a[name="tj_login"]").click()
    #这一步成功后没有加time.sleep(3)直接报错,定位不到元素加上正常
    time.sleep(3)
    driver.find_element_by_link_text("立即注册").click()

    #获得当前所有打开窗口的句柄
    all_handles = driver.window_handles

    #进入注册窗口
    for handle in all_handles:
    if handle != sreach_windows:
    driver.switch_to.window(handle)
    print('现在是注册页面')
    time.sleep(3)
    driver.find_element_by_name("userName").send_keys('username')
    time.sleep(2)
    driver.find_element_by_xpath(".//*[@id='TANGRAM__PSP_3__password']").send_keys('password')
    time.sleep(2)

    #回到搜索窗口
    for handle in all_handles:
    if handle == sreach_windows:
    driver.switch_to.window(handle)
    print("这是搜索页面")
    driver.find_element_by_id('TANGRAM__PSP_4__closeBtn').click()
    driver.find_element_by_id('kw').send_keys("selenium")
    driver.find_element_by_id("su").click()
    time.sleep(2)

    driver.quit()
  • 相关阅读:
    上网行为管理网络部署方式
    CentOS系统安装中文man手册
    打印机:连接失败,检查设定并检查扫描的文件状态
    hosts文件导致打不开某些网站
    NTP服务搭建
    VMware中三种网络连接的区别
    vm虚拟机里的桥接模式下“复制物理网络连接状态”作用
    IP配置
    OC方法和文件编译
    OC语言基础知识
  • 原文地址:https://www.cnblogs.com/wsying/p/9395506.html
Copyright © 2011-2022 走看看