由于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