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()
  • 相关阅读:
    Angularjs 搜索关键字高亮显示
    JavaScript函数的概念
    使用github之前的技能准备
    github的使用(概要版)
    浏览器与浏览器内核
    计算机数据存储
    Git版本控制常用命令整理
    整理几篇比较好的AndroidUI动画开发文章
    AngularJS指令
    图片的像素和Android的dp值之间的关系。
  • 原文地址:https://www.cnblogs.com/wsying/p/9395506.html
Copyright © 2011-2022 走看看