zero

第 238 位会员
注册于 2018-09-19 17:42:32
活跃于 2019-05-05 23:43:31


  • 网抓神器--自动化测试工具 selenium 的使用 at 2018-09-23 16:51:53

    @畅心 谢谢畅神,全部实现了。哈哈哈

  • 网抓神器--自动化测试工具 selenium 的使用 at 2018-09-22 19:07:08

    @畅心 是虚拟的,我不会table键定位,求畅神指教。需求:打印的文件名循环命名为查询的单号

  • 网抓神器--自动化测试工具 selenium 的使用 at 2018-09-22 15:13:11

    @畅心 昨天的实现效果自己查询改了改,弄成了个半自动化,求大神相助。
    import os#自行下载安装此库
    import time#自行下载安装此库
    import xlrd#自行下载安装此库
    import win32api
    import win32con
    import win32clipboard
    from ctypes import *
    from selenium import webdriver#自行下载安装此库
    from selenium.webdriver.common.keys import Keys

    chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
    os.environ["webdriver.chrome.driver"] = chromedriver
    fileName=r"C:\Users\geweier\Desktop\测试.xlsx" #需要查询的快递单号信息excel存放位置
    bk=xlrd.open_workbook(fileName) #打开excel
    shxrange=range(bk.nsheets)#获取excel表页数量序号编码
    try:
    sh=bk.sheet_by_name("Sheet1")#通过表页名称定位单号所在表页
    except:
    print("代码出错")
    driver = webdriver.Chrome(chromedriver)
    driver.maximize_window()
    driver.get("https://www.ickd.cn")
    assert "爱查快递" in driver.title
    nrows=sh.nrows #获取行数,识别单号查询次数
    for i in range(0,nrows):
    e=sh.row_values(i)[0]
    elem = driver.find_element_by_name("mailNo")#找到输入单号的框
    elem.send_keys(e)#将excel中的单号数据复制粘贴录入
    elem.send_keys(Keys.RETURN)#点击查询
    time.sleep(2)

    # 使用ctrl+shift+p调出打印界面
     win32api.keybd_event(0x11, 0, 0, 0)
     win32api.keybd_event(0x10, 0, 0, 0)
     win32api.keybd_event(0x50, 0, 0, 0)
     win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)
     win32api.keybd_event(0x10, 0, win32con.KEYEVENTF_KEYUP, 0)
     win32api.keybd_event(0x50, 0, win32con.KEYEVENTF_KEYUP, 0)
     time.sleep(1)
    
     # 使用系统默认打印机打印按下回车
     win32api.keybd_event(0x0D, 0, 0, 0)
     win32api.keybd_event(13,win32con.KEYEVENTF_KEYUP,0)
     time.sleep(2)
    
     # 输入另存为文件名后按下回车
     win32api.keybd_event(0x0D, 0, 0, 0)
     win32api.keybd_event(0x0D, 0, win32con.KEYEVENTF_KEYUP, 0)
     time.sleep(6)
     driver.refresh()

    driver.close()
    driver.quit()

    最后一步手动改pdf文件名名字,点击了下回车键。这一步咋破????想自动以单后命名
    file

  • 网抓神器--自动化测试工具 selenium 的使用 at 2018-09-22 02:04:04

    @畅心 对于小的笔记本而言还是没有实现长截图的理想效果,网上找了好多也没看出个解决办法。

    file;这个打印功能这么调用啊,在这个自动化中?求问。

  • 网抓神器--自动化测试工具 selenium 的使用 at 2018-09-21 16:23:44

    @畅心 另外这个截图看起来只是局部,不能截图全部。或者不截图,可以打印输出为PDF文件吗?感谢畅神。

  • 网抓神器--自动化测试工具 selenium 的使用 at 2018-09-21 16:09:47

    @畅心 参照你的思路,我修改了下。保存的文件名为啥是:['单号名称'],多了个括号和一对单引号。
    import os#自行下载安装此库
    import time#自行下载安装此库
    import xlrd#自行下载安装此库
    from selenium import webdriver#自行下载安装此库
    from selenium.webdriver.common.keys import Keys#自行下载安装此库

    chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
    os.environ["webdriver.chrome.driver"] = chromedriver
    fileName=r"C:\Users\geweier\Desktop\测试.xlsx" #需要查询的快递单号信息excel存放位置
    bk=xlrd.open_workbook(fileName) #打开excel
    shxrange=range(bk.nsheets)#获取excel表页数量序号编码
    try:
    sh=bk.sheet_by_name("Sheet1")#通过表页名称定位单号所在表页
    except:
    print("代码出错")
    driver = webdriver.Chrome(chromedriver)
    driver.maximize_window()
    driver.get("https://www.ickd.cn")
    assert "爱查快递" in driver.title
    nrows=sh.nrows #获取行数,识别单号查询次数
    for i in range(0,nrows):
    e=sh.row_values(i)
    elem = driver.find_element_by_name("mailNo")#找到输入单号的框
    elem.send_keys(str(e))#将excel中的单号数据复制粘贴录入
    elem.send_keys(Keys.RETURN)#点击查询
    time.sleep(2)
    driver.save_screenshot(str(e)+".png")#截图保存为查询单号名称,因为是list,所以保存的文件名是:['单号名称']
    driver.refresh()#刷新网页
    driver.close()
    driver.quit()

  • 网抓神器--自动化测试工具 selenium 的使用 at 2018-09-19 17:51:21

    请问快递单截图如何实现。
    表述:excel表中A列放置快递单,依次读取excel中A列的快递单号,打开http://www.kuaidi100.com/,循环填入,每填入一个快递单号截图一张屏幕留存;截图命名为excel中A列查询的快递单号。
    模拟单号:263432466781;640006627091

  • pbi 中识别图片中的表格数据 at 2018-09-19 17:48:20

    请问快递单截图如何实现。
    表述:excel表中A列放置快递单,依次读取excel中A列的快递单号,打开http://www.kuaidi100.com/,循环填入,每填入一个快递单号截图一张屏幕留存;截图命名为excel中A列查询的快递单号。
    模拟单号:263432466781;640006627091