• Selenium练习广电选号


    由于192号段好像还不能查归属地,写了个脚本查找全国各省市是否有 192168xXXXX或者1920168XXXX号段的号码。

    # -*- coding: utf-8 -*-
    """
    SeleniumTest
    """
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    import time
    
    
    def test_xpath(xpath):
        try:
            driver.find_element(by=By.XPATH, value=xpath)
            return True
        except:
            return False
    
    
    driver = webdriver.Chrome()
    driver.set_window_size(400, 1000)
    driver.get("https://cbnppfb.10099.com.cn/bookh5/?channel=aea461c52ce55868a91d26ff53edbe72#/pages/prettyNumber/index")
    time.sleep(5)
    # 如果有验证码要求输入,等待输入完毕手动继续
    yzmxpath = "//*[@id='app']/taro-view-core/taro-view-core[1]"
    if test_xpath(yzmxpath):
        a = input("验证码等待,请输入验证码后继续")
    findnum = "192168"
    # 输入需要查找的号码
    ipt = driver.find_element(By.XPATH, "//*[@id='/pages/prettyNumber/index?stamp=1']/taro-view-core/taro-view-core["
                                        "2]/taro-view-core[1]/taro-view-core[2]/taro-input-core/input")
    ipt.send_keys(findnum)
    time.sleep(1)
    
    # 开始查找
    okf = driver.find_element(By.XPATH, "//*[@id='/pages/prettyNumber/index?stamp=1']/taro-view-core/taro-view-core["
                                        "2]/taro-view-core[1]/taro-view-core[2]/taro-image-core/img")
    okf.click()
    time.sleep(2)
    
    # 点击选择
    sl = driver.find_element(By.XPATH, "//*[@id='/pages/prettyNumber/index?stamp=1']/taro-view-core/taro-view-core["
                                       "2]/taro-view-core[1]/taro-view-core[1]")
    sl.click()
    time.sleep(2)
    
    
    # 选择省份
    m = 1
    while m < 100:
        slpxpath = "//*[@id='/pages/prettyNumber/index?stamp=1']/taro-view-core/taro-view-core[2]" \
                    "/taro-view-core[3]/taro-view-core/taro-view-core/taro-view-core[2]" \
                    "/taro-scroll-view-core[1]/taro-text-core[" + str(m) + "] "
        if test_xpath(slpxpath):
            slp = driver.find_element(By.XPATH, slpxpath)
            slp.click()
            slptext = slp.text
            m = m + 1
            n = 1
            while n < 100:
                slcxpath = "//*[@id='/pages/prettyNumber/index?stamp=1']/taro-view-core/taro-view-core[2]" \
                           "/taro-view-core[3]/taro-view-core/taro-view-core/taro-view-core[2]" \
                           "/taro-scroll-view-core[2]/taro-text-core[" + str(n) + "] "
    
                if test_xpath(slcxpath):
                    slc = driver.find_element(By.XPATH, slcxpath)
                    slc.click()
                    slctext = slc.text
                    time.sleep(1)
                    n = n + 1
                    okk = driver.find_element(By.XPATH,
                                              "/html/body/div/taro-view-core/div/div/taro-view-core/taro-view-core["
                                              "2]/taro-view-core[3]/taro-view-core/taro-view-core/taro-view-core["
                                              "3]/taro-button-core")
                    okk.click()
                    time.sleep(7)
                    # 找到
                    fdd1xpath = "//*[@id='/pages/prettyNumber/index?stamp=1']/taro-view-core/taro-view-core[" \
                                "3]/taro-view-core[1]/taro-view-core[1]/div/taro-text-core[1]"
                    if test_xpath(fdd1xpath):
                        fdd1 = driver.find_element(By.XPATH, fdd1xpath)
                        print(slptext, slctext, "找到了", findnum, )
                        time.sleep(2)
                        driver.save_screenshot(slctext + '.png')
    
                    # 没找到
                    fdd0xpath = "/html/body/div/taro-view-core/div/div/taro-view-core/taro-view-core[" \
                                "3]/taro-view-core/taro-view-core/taro-text-core"
                    if test_xpath(fdd0xpath):
                        fdd0 = driver.find_element(By.XPATH, fdd0xpath)
                        if fdd0.text == "请稍候 补货中":
                            print(slptext, slctext, "没找到", findnum, fdd0.text)
    
                    # 如果有验证码要求输入,等待输入完毕手动继续
                    if test_xpath("//*[@id='app']/taro-view-core/taro-view-core[1]"):
                        a = input("验证码等待,请输入验证码后继续")
                    # 再次点击地区选择
                    sl = driver.find_element(By.XPATH,
                                             "//*[@id='/pages/prettyNumber/index?stamp=1']/taro-view-core/taro-view-core["
                                             "2]/taro-view-core[1]/taro-view-core[1]")
                    sl.click()
                else:
                    n = 100
        else:
            m = 100
    

      

  • 相关阅读:
    LevelDB的源码阅读(四) Compaction操作
    LevelDB的源码阅读(三) Get操作
    LevelDB的源码阅读(三) Put操作
    高级测试/测试开发技能
    IM测试功能点
    深入理解--SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用
    Jmeter非GUI分布式测试
    全套支付宝系统架构(内部架构图)【收藏】
    Jmeter
    报表类相关测试范围总结
  • 原文地址:https://www.cnblogs.com/gocd/p/16355647.html
Copyright © 2020-2023  润新知