zoukankan      html  css  js  c++  java
  • 一个晚上加一个上午啊 笨死算球

    __author__ = 'Administrator'
    # coding: utf-8
    from selenium import webdriver
    import time
    import os
    import pdb
    from selenium import selenium
    from selenium import webdriver
    from selenium.common.exceptions import TimeoutException
    from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
    from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0

    # if 'HTTP_PROXY'in os.environ: del os.environ['HTTP_PROXY']


    browser = webdriver.Firefox() # open Chrome or Firefox
    browser.get("http://www.******.com/") # load www.cmall.com
    time.sleep(2) # let the page load

    print('title of current page is %s' %(browser.title))
    print('url of current page is %s' %(browser.current_url))
    time.sleep(2)

    browser.find_element_by_xpath(".//*[@id='userLogin']/a[1]/span").click()
    '''
    XX = browser.find_element_by_tag_name("iframe")
    browser.switch_to.frame(XX)
    browser.find_element_by_id('usernameLogin').send_keys('*****')
    browser.find_element_by_id('passwordLogin').send_keys('*******')
    time.sleep(2)
    browser.find_element_by_id('btnLoginLocal').click()
    '''
    '''
    # 这种方法也可以的,就是太笨了,真难看
    browser.get("http://www.******.com/login-quick.html")
    browser.find_element_by_id('btnLogin').click()
    time.sleep(5)
    browser.find_element_by_id('usernameLogin').send_keys('*******')
    browser.find_element_by_id('passwordLogin').send_keys('*******')
    browser.find_element_by_id('btnLoginLocal').click()
    '''


    # def changeTostartOrderWindow(browser):
    # yuding = browser.find_element_by_xpath('html/body/div[5]/div[3]/div[2]/div/iframe')
    # browser.find_elements_by_class_name('pdb-contentframe')


    # 原来无需先定位上层class,原来不支持直接yuding=browser.find这种写法
    browser.find_element_by_tag_name('iframe')
    yuding = browser.find_element_by_tag_name('iframe')
    '''
    text = yuding.get_attribute()
    print("iframe's id is" %text)
    '''
    # text = yuding.find_element_by_tag_name('iframe').get_attribute('id')


    # yuding = browser.FindElements('iframe_1453206880881') 动态的iframe无法取到固定id
    browser.switch_to_frame(yuding) # 之前用的iframe,怎么也取不到

    time.sleep(10)

    # browser.switch_to().frame(yuding)
    browser.find_element_by_id('btnLogin').click()
    time.sleep(10)


    # yufeng = browser.find_element_by_name('iframe_1453204183258')
    # browser.switch_to.frame(yufeng) 方法么写对啊,不是点,而是下划线
    browser.find_element_by_id('usernameLogin').send_keys('*******')
    browser.find_element_by_id('passwordLogin').send_keys('******')
    browser.find_element_by_id('btnLoginLocal').click()
    # pass
    # 切换框架方法-结束

    #def changeToDefaultIframe(browser):
    browser.switch_to.default_content();
    #pass
  • 相关阅读:
    c++ 动态判断基类指针指向的子类类型(typeid)
    qt在GUI显示时,将调试信息输出到控制台的设置
    Qt库版查询
    Qt动态库静态库的创建、使用、多级库依赖、动态库改成静态库等详细说明
    ICMP timestamp 请求响应漏洞
    linux 防火墙 ufw使用
    MySQL--binlog和relay log的生成和删除
    SSD 相关基础知识
    python36--将数据保存为excel
    MySQL 5.7并发复制和mysqldump相互阻塞引起的复制延迟
  • 原文地址:https://www.cnblogs.com/vivivi/p/5144778.html
Copyright © 2011-2022 走看看