精华内容
下载资源
问答
  • 作者:Harkerbest声明:本文章为原创文章,本文章永久链接:...本教程也可用于Python requests使用post提交表单的教学随着网络化的普及,网络调查表在生活中随处可见,但是有些时候,我们每天都需...

    作者:Harkerbest

    声明:本文章为原创文章,本文章永久链接:https://harkerbest.kafuu.net.cn/?p=163,转载请注明原文地址,盗版必究!!!

    警告:本文章仅用于技术交流,禁止将本文章内容用于违法犯罪活动,违者后果自负!!!

    本教程也可用于Python requests使用post提交表单的教学

    随着网络化的普及,网络调查表在生活中随处可见,但是有些时候,我们每天都需要填写一些内容比较固定的调查表,比如说体温填报、健康登记等等,作为一名程序员,我们应该把这些机械的操作交给电脑,让电脑造福人类。今天小编就来教大家如何使用Python爬虫实现自动填写网络调查表。这样,我们只需要将编写好的脚本部署到服务器上就能够每天定时完成填写表格的任务了。

    思路:

    一般情况下,网络调查表网站都会将你填写好的信息以表单的形式Post上去,因此我们有两种方法可以实现自动填写,一种是使用Selenium模拟操作浏览器,在填写调查表的网页上通过id等元素进行定位并找到对应的输入方框将预先设置好的内容填入,最后再模拟点击提交按钮进行提交。这种方法的优点是简单方便,如果无法通过抓包找到网站提交信息的方式,那么这是一种很好的方法,但是这种方法的缺点也很明显,就是耗时大,完成启动浏览器并填写数据至少也要10秒的时间,同时由于是可视化界面,需要很大的负载,如果是个人电脑则没有太大的影响,但是如果是在生产环境下部署,很可能会使服务器内存爆满,因此这个方法并不适合生产环境下使用。

    第二种方法,也是小编今天给大家介绍的方法,就是通过抓包找到网站提交数据时Post表单的URL地址并使用requests进行模拟提交表单,这样就能够既快捷又不占用内存地进行自动填写调查表了。下面开始今天的教程!

    (一)抓包分析表单

    今天小编以某问卷网站进行演示,使用Python爬虫自动填写健康调查表。

    首先我们需要通过抓包的方式找到网站使用post方式提交数据的URL地址和提交的表单的规律。方法如下:

    1.访问问卷填写页面并填写信息

    这里的信息可以随意填写,只需要记住在那个部分填写了什么就好。(如图)

    image-10-1024x528.png在网页中填写好信息

    2.按F12进入开发者工具并点击Network选项

    注意:这一步一定不能调换顺序,必须在点击按钮提交信息之前进入开发者工具,否则无法抓取到数据包!!!

    首先按下F12进入开发者工具(不同浏览器可能会不同,具体可以百度),接下来选择Network选项。(如图)

    image-11-1024x486.png按F12进入开发者工具并选择Network选项

    3.点击提交按钮进行提交并分析抓包数据

    点击提交按钮后可以看到右边开发者工具中出现大量请求信息(如图)

    image-12.png开发者工具中出现大量请求信息

    一般情况下,提交数据的post请求在按钮按下的时候就会发出,因此我们从最上面开始一个一个寻找……

    经过寻找,发现在较前面有一个请求为post请求,并且post的表单(Form Data)内信息为之前填写的信息(如图),因此可以判定这一请求就是网站提交数据的请求。

    image-13.png请求方式为Post

    image-14.png提交表单(Form Data)内信息为之前所填写信息

    image-15.pngRequests Headers

    其中第一幅图内的Requests URL为下文需要用到的URL,第二幅图的Form Data为下文用于提交表单的内容,第三幅图的requests headers即为下文提到的(请求头)headers。

    接下来我们将利用Python使用抓取到的URL以及表单(Form Data)等信息进行模拟提交表单实现自动提交调查问卷。

    (二)使用Python进行模拟提交表单

    本教程需要用到Python的requests库,如果没有安装的请在命令提示符(cmd)中键入以下命令安装:

    pip install requests

    1.设置URL并构造表单和请求头(headers)

    import requests #导入requests库

    url='https://xxxxx.com/xxxxx' #设置URL,其中URL为上文抓取到请求内容的Requests URL

    data={'submitdata':'xxxxxxxxx'} #设置表单,内容为上文中抓取到的Form Data,其中表单形式为Python的字典

    headers={#header内容即为上文中的requests headers,形式为Python字典,一般只需要将User-Agent和Referer填入即可

    ' User-Agent':'xxxxxxx'

    'Referer':'https://xxxxx'

    }

    2.使用设置好的URL、表单和请求头提交表单

    提交表单只需要一行代码即可解决:

    sourse=requests.post(url,data=data,headers=headers).text

    #其中url,data,headers均为上文设置好的内容,.text的作用是将返回的Response转化为Python的字符串,执行后返回的结果将赋值给sourse。

    执行后可以根据返回的结果自行分析提交是否成功(由于不同网站返回结果不一样,所以这里无法做分析),通常网站返回的会是下一个网页的源码或者是一个json的成功提示,具体需要自行分析。

    全部代码

    这里附上全部代码,由于Python爬虫的特殊性,不同的网站可能会需要部分改动,但是方法是不变的。因此,遇到特殊情况时需要根据本文的方法去仔细琢磨,要相信自己能够解决问题!

    import requests #导入requests库

    url='https://xxxxx.com/xxxxx' #设置URL,其中URL为上文抓取到请求内容的Requests URL

    data={'submitdata':'xxxxxxxxx'} #设置表单,内容为上文中抓取到的Form Data,其中表单形式为Python的字典

    headers={#header内容即为上文中的requests headers,形式为Python字典,一般只需要将User-Agent和Referer填入即可

    ' User-Agent':'xxxxxxx'

    'Referer':'https://xxxxx'

    }

    sourse=requests.post(url,data=data,headers=headers).text

    #其中url,data,headers均为上文设置好的内容,.text的作用是将返回的Response转化为Python的字符串,执行后返回的结果将赋值给sourse。

    print(sourse)#根据返回信息判断是否提交成功

    结语:

    到这里本教程就结束了,希望能够帮到大家,如果你觉得这篇文章对你有帮助,请分享给更多需要的人,谢谢!!!

    展开全文
  • 今天以一个表单自动提交,来进一步学习selenium的用法练习目标1)页面元素查找(多种查找方式:find_element_*)2)内容填充(send_keys)3)iframe与父页面切换(switch_to_frame是切换到iframe,switch_to_...

    测试Python selenium自动提交表单

    展开全文
  • #python模拟实现自动填写网页表单源码 运行:Python3+第三方包# coding: utf-8import time,sysimport pyautogui,pyperclipimport pandas as pd#保护措施,避免失控pyautogui.FAILSAFE = False#为所有的PyAutoGUI函数...

    micool-2.jpg?x-oss-process=image%2Fquality,q_80%2Fresize,w_800

    #python模拟实现自动填写网页表单源码 运行:Python3+第三方包

    # coding: utf-8

    import time,sys

    import pyautogui,pyperclip

    import pandas as pd

    #保护措施,避免失控

    pyautogui.FAILSAFE = False

    #为所有的PyAutoGUI函数增加延迟。默认延迟时间是0.1秒。

    pyautogui.PAUSE = 0.6

    #1366X768 IDLE最大化时 进行最小化IDLE

    pyautogui.click(x=1264, y=17, clicks=1, interval=0.0, button='left', duration=0.5, tween=pyautogui.linear)

    pyautogui.click(x=1264, y=17, clicks=1, interval=0.0, button='left', duration=0.5, tween=pyautogui.linear)

    df=pd.read_excel('info1.xlsx',sheet_name=0)

    time.sleep(2)

    for i in range(df.shape[0]):

    Hangdata=df.iloc[i].tolist() #用列表操作 其实Series也可以操作

    a=Hangdata[0] #单号

    b=Hangdata[1] #小区级_filename

    c=Hangdata[2] #分析-WD_filename

    pyautogui.click(x=762, y=200, clicks=2, interval=0.0, button='left', duration=0.5, tween=pyautogui.linear) #工单号查询

    time.sleep(0.2)

    pyperclip.copy(a)

    pyautogui.hotkey('ctrl','a')

    pyautogui.hotkey('ctrl','v')

    #查询按钮

    pyautogui.doubleClick(x=1249, y=199, interval=0.0, button='left', duration=0.2, tween=pyautogui.linear)

    time.sleep(8)

    #进入工单

    pyautogui.doubleClick(x=549, y=299, interval=0.0, button='left', duration=0.5, tween=pyautogui.linear)

    time.sleep(14)

    #下拉(1)

    pyautogui.click(x=1342, y=671, clicks=3, interval=0.2, button='left', duration=0.8, tween=pyautogui.linear)

    time.sleep(0.2)

    #选择类型

    pyautogui.click(x=547, y=578, clicks=2, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear)

    pyautogui.click(162,424,duration=0.5)

    time.sleep(3)

    #选择是否现场测试

    pyautogui.click(x=1260, y=576, clicks=2, interval=0.1, button='left', duration=1, tween=pyautogui.linear)

    pyautogui.click(1260,643,duration=0.5)

    time.sleep(1)

    #选择是否疑难问题

    pyautogui.click(x=547, y=606, clicks=2, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear)

    pyautogui.click(547,671,duration=0.5)

    time.sleep(1)

    #选择处理方案

    pyautogui.click(x=1201, y=605, clicks=2, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear)

    pyautogui.click(1201,495,duration=0.5)

    time.sleep(1)

    #选择小区级

    pyautogui.click(x=547, y=638, clicks=1, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear)

    pyautogui.click(x=162, y=441, clicks=1, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear)

    pyautogui.click(x=297, y=613, clicks=1, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear)

    time.sleep(1)

    #再次下拉(2)

    pyautogui.click(x=1342, y=671, clicks=3, interval=0.2, button='left', duration=0.8, tween=pyautogui.linear)

    time.sleep(2)

    #EXCEL导入

    pyautogui.click(x=1172, y=353, clicks=2, interval=0.1, button='left', duration=0.8, tween=pyautogui.linear) #EXCEL导入

    pyautogui.click(x=1017, y=354, clicks=2, interval=0.1, button='left', duration=0.8, tween=pyautogui.linear) #浏览

    time.sleep(0.2)

    pyautogui.click(x=52, y=282, clicks=1, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear) #我的电脑

    time.sleep(0.2)

    pyautogui.click(x=241, y=325, clicks=2, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear) #H盘

    time.sleep(0.2)

    pyautogui.click(x=202, y=227, clicks=2, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear) #工单目录

    time.sleep(0.2)

    pyautogui.click(x=183, y=143, clicks=2, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear) #小区级目录

    time.sleep(0.2)

    #文件夹查找小区级excel

    pyperclip.copy(b)

    time.sleep(0.2)

    pyautogui.click(x=282, y=661, clicks=2, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear)

    pyautogui.hotkey('ctrl','v')

    time.sleep(0.2)

    pyautogui.click(1305,660,duration=0.5)

    pyautogui.click(924,666,duration=0.5)

    time.sleep(0.5)

    pyautogui.click(924,666,duration=0.5)

    time.sleep(12)

    pyautogui.click(924,666,duration=0.5)

    time.sleep(8)

    pyautogui.click(926,669,duration=0.5)

    #上传分析WD文件

    pyautogui.click(x=651, y=634, clicks=1, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear) #措施

    pyautogui.click(x=477, y=397, clicks=1, interval=0.0, button='left', duration=0.5, tween=pyautogui.linear) #添加

    pyautogui.click(x=416, y=50, clicks=1, interval=0.0, button='left', duration=0.5, tween=pyautogui.linear) #返回上一级目录

    pyautogui.click(x=223, y=122, clicks=2, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear) #选择分析WD文件夹

    time.sleep(1)

    pyautogui.click(x=997, y=659, clicks=2, interval=0.1, button='left', duration=1, tween=pyautogui.linear) #粘贴名字

    pyperclip.copy(c)

    pyautogui.hotkey('ctrl','v')

    time.sleep(0.2)

    pyautogui.click(x=1308, y=661, clicks=1, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear) #打开按钮

    time.sleep(4)

    pyautogui.click(x=786, y=581, clicks=2, interval=0.1, button='left', duration=0.8, tween=pyautogui.linear) #确认上传docx

    #pyautogui.click(x=1242, y=708, clicks=2, interval=0.0, button='left', duration=0.8, tween=pyautogui.linear) #保存测试

    pyautogui.click(x=1317, y=708, clicks=2, interval=0.05, button='left', duration=1.2, tween=pyautogui.linear) #提交

    time.sleep(28)

    pyautogui.click(x=819, y=496, clicks=2, interval=0.1, button='left', duration=0.8, tween=pyautogui.linear) #确认

    time.sleep(3)

    print("已完成!")

    免责声明:

    1. 本站所有资源来源于网络,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请自负。

    2. 如果您喜欢该源码,请支持购买正版,得到更好的正版服务。

    3. 如果你有好源码或者教程,可以联系站长投稿,分享有金币奖励和额的外收入!

    4. 本站提供的非本站原创资源都不包含技术服务请大家谅解!

    5. 如有链接无法下载或失效,请联系管理员处理!

    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

    7. 本站无法保证所有资源的准确性、安全性和完整性!

    8. 如本站源码有侵权问题,请联系站长!

    展开全文
  • 应用场景:频繁往网站、电商平台后台等填写数据。工作场景:电商上传商品、测试人员、批量提交表单等。涉及内容:python读写EXCEL文件、selenium基础使用、Xpath基础使用、python基础最近刚好工作中涉及,学习使用...

    应用场景:频繁往网站、电商平台后台等填写数据。

    工作场景:电商上传商品、测试人员、批量提交表单等。

    涉及内容:python读写EXCEL文件、selenium基础使用、Xpath基础使用、python基础

    最近刚好工作中涉及,学习使用之后记录一下。

    这里只做工具相关的使用方法,分析解释,具体的代码实现托管在GitHub上,我只是现学现用,代码中必定有考虑不足的地方,如果有朋友看到欢迎指出,本人不甚感激。

    本人应用场景:在网站后台中传入商品数据,一次大概提交2-300个商品的编码、价格等信息,工作简单缺烦躁,易出错,于是想用机器解决。

    思路:先将数据批量导出到excel中,按需要填入顺序排列好、使用python往excel文件中读数据、selenium接管浏览器,实现自动填入。

    这些文章有些部分有些繁杂我没有详细去说,这里指出来一下

    一、将数据按照一定格式填入excel中方便读写(此步不在赘述)

    按照一定格式的原因是python便于读写

    二、python读取excel文件

    python操作excel的库有很多,我这里用的是xlrd。

    我使用python将数据按照规定的格式读出,存入到python字典里。

    使用selenium操作浏览器

    selenium有两点

    想要接管浏览器,首先要下载相应的浏览器插件。我使用的是chrome

    没有找到接管当前浏览器的方法,所以使用另一种解决方案

    使用无头模式把chrome打开(我的chrome存入了系统变量,如果没有存入系统变量,还需要找到chrome的地址,在cmd中打开)

    chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"

    以上代码打开浏览器后,

    chrome_options = Options()#建立浏览器对象

    chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")#输入浏览器参数

    driver = webdriver.Chrome(options=chrome_options)#使用selenium接管浏览器

    #输入这三行代码

    然后浏览器对象就存入了driver中,可以使用selenium进行操作了

    selenium查找和更改内容的代码如下

    driver.find_element_by_xpath("拷贝的xpath复制到这里").clear()#这一步是根据xpath找到元素并清空

    driver.find_element_by_xpath("拷贝的xpath复制到这里").send_keys()#这一步是在元素中输入数据

    找到元素之前一定要记得清空原有元素内容,保持良好的习惯,输入正确的数据

    利用xpath找到元素的位置

    想要在一个网页中查找、输入数据。就需要知道表单、数据在网页的哪个位置,怎么找到相应的地方。selenium提供了很多种方法定位元素,这里使用的是xpath

    xpath查找方法:使用鼠标右键点击你想查找的位置,选择检查。(会用F12的忽视这条)

    然后在检查器中找到相应的位置,点击copy xpath即可。我做了一张动图演示给你们,如下

    总体工作流程

    关键步骤说清楚了,下面就是整体的思路了。

    利用python把excel数据读出以后,用selenium找到相应元素的位置,然后把对应位置中的值清空,在填入新值就可以了。

    比如现在你的网页中有1000个编码需要从上到下填入,你找到xpath的规律,一般都是有相应的数字规律。类似下面这种

    /html/body/div[4]/form/div/div/div/div[3]/table[2]/tbody/tr/td[2]/div/table/tbody/tr[4]/td[4]/span/

    # /html/body/div[4]/form/div/div/div/div[3]/table[2]/tbody/tr/td[2]/div/table/tbody/tr[5]/td[6]/span/input

    # /html/body/div[4]/form/div/div/div/div[3]/table[2]/tbody/tr/td[2]/div/table/tbody/tr[6]/td[4]/span/input

    # /html/body/div[4]/form/div/div/div/div[3]/table[2]/tbody/tr/td[2]/div/table/tbody/tr[7]/td[4]/span/input

    # /html/body/div[4]/form/div/div/div/div[3]/table[2]/tbody/tr/td[2]/div/table/tbody/tr[8]/td[4]/span/input

    # /html/body/div[4]/form/div/div/div/div[3]/table[2]/tbody/tr/td[2]/div/table/tbody/tr[9]/td[6]/span/input

    可以看到明显第6、7的数字位置存在规律变化,找到相应的变化,写入python for循环中即可。批量提交中,网页结构是不会再变化的,所以脚本写好之后,再传入数据只需要更改excel表格中的内容即可。

    展开全文
  • 作为一名考研狗每周还要青年大学习(不是说青年大学习不好,不过我实在是不想看)下面我通过一个程序实现对于学校统计青年大学习网页自动填写,轻松完成每周任务import osimport timeimport xlrdfrom selenium ...
  • As part of my quest to become better at Python I am now attempting to sign in to a website I frequent, send myself a private message, and then sign out. So far, I've managed to sign in (using urllib, ...
  • Python is a programming language that lets you work quickly and integrate systems more effectively. Learn Morehttps://www.python.orgSTEP1:安装python 3STEP2:安装pyautogui,命令行输入pip install ...
  • 我用的 flask比如一个 form 是这样class NoteForm(Form):c_title = StringField(u'标题')c_note2 = StringField(u'备注')模板 example.html 是这样{{ my_form.c_title.label }} {{ my_form.c_title() }}{{ my_form.c...
  • 我的实现思路是把ID对应定位信息放在excel表格里,通过抓取excel表里提供的定位信息和所对应的需要更新的值进行数据更新。 这里分别对文本框信息输入,下拉列表选择和复选按钮勾选做了封装处理,再把相应的方法统一...
  • 时间等,需要把每个事项逐个输入到网页中并提交。如果用人肉操作的话,流程就是先登录到网站后台,点击“添加”——>输入各项内容——>点击“保存”。然后重复这个动作100遍。如图:2.设想的解决办法对手工“登录”...
  • 在网上找到一段代码,可以打开浏览器,并自动填写表单,提交。 但是运行的时候报错,看了半天,不知道为啥 不知哪位大神可以帮忙看看
  • 刷票一般要突破以下限制:1、验证码识别2、同一ip不可连续投票解决办法1、用tesseract工具,链接在此 ...http://cn-proxy.com/程序语言当然用python浏览器投票的流程如下1、向服务器发送请求,服务器返回验证码和...
  • python操作Excel视频详情:.https://m.toutiaoimg.com/group/6788702618471367175/?app=news_article&timestamp=1580735625&group_id=6788702618471367175 如视频所示 左边是参照表,右边是空表。 难道要我一...
  • python+selenium 自动填写表单并提交

    万次阅读 多人点赞 2018-03-08 16:22:30
    准备:python 3.6 +selenium + chromedriver2.35 chromedriver 要兼容本地的chrome 对应版本号 https://chromedriver.storage.googleapis.com/2.36/notes.txt ChromeDriver Chrome ...
  • 引言本文通过python3、第三方python库Selenium和谷歌浏览器Chrome,完成WPS表单自动填写。开发环境配置python3的安装:略,网上都有教程。Selenium的安装:在命令行输入pip3 install selenium并回车即可完成安装,...
  • python+selenium自动填写提交电子表单

    千次阅读 2019-12-11 11:37:36
    python+selenium自动填写提交电子表单 前两天看到空间里面有人发 问卷星 调查,就想到能不能用 python网页交互 , 自动 填写 电子表单 ,结果还真有,就尝试了一下,有些还没搞清楚,先大概介绍一下,慢慢来吧。...
  • python 批量填写word表格

    千次阅读 2020-03-22 22:01:21
    今天因为老爸下乡扶贫工作,要填很多word表格,一张表一张表填写显然太慢了,就简单写了一个python代码去处理。大体上就是使用docx库来批量填写word表格,至于word表格的数据来源是使用xlrd库从excel表格中读取出来...
  • 本文通过python3、第三方python库Selenium和谷歌浏览器Chrome,完成WPS表单自动填写,通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 在日常工作中常常需要重复填写某些表单,如果人工完成,费时费力,而且网络延迟令人十分崩溃。如果能够用程序实现自动填表,效率可以提高一倍以上,并且能够移植到多台计算机,进一步提高工作效率。webdriver是...
  • 经常有些网页要登录,然后频繁填写一些重复的内容,本文暂只考虑不需要验证码的情况,可以通过selenium模拟用户行为在页面操作,用excel拖出相似内容,用xlrd读取并填写网页中。 导入相关包 from selenium ...
  • 利用python3+selenium+chromedriver自动填写网络表格 技术背景:企图刷表单,提高中奖概率。 一、配置环境 下载兼容本地的chrome的chromedriver 查看版本映射表 ...下载网站 ...
  •   本文通过python3、第三方python库Selenium和谷歌浏览器Chrome,完成WPS表单自动填写。 开发环境配置   python3的安装:略,网上都有教程。   Selenium的安装:在命令行输入pip3 install selenium并回车...
  • python 删除文件 1. 以str读取excel中的数字(read_excel) sp_template = pd.read_excel(file_path, sheet_name=0, converters = {'MRP控制者':str}) # 利用conveerters 2. dataframe 以dataframe读取一行 sp_...
  • 希望表格里面字体不一样,用下拉自动填充做不到,openpyxl可以 1.导入模块选择表格和sheet from openpyxl import Workbook, load_workbook from openpyxl.styles import Font from random import choice, randint ...
  • python + web操作 爬虫 自动填写表单

    万次阅读 2019-08-21 16:05:22
    python + web操作 爬虫 自动填写表单 Pre install package 安装webdriver库(chorme版本):找到你的版本,下载好放到Google/Chrome/Application文件夹下 http://npm.taobao.org/mirrors/chromedriver/ 安装python ...
  • python selenium 实现网页自动登录

    千次阅读 2018-05-30 12:47:39
    插件:selenium流程:打开网页自动填写表单,有关验证码识别登录的部分请看另一篇文章Python+Selenium 含验证码的登录处理from selenium import webdriver browser = webdriver.Firefox() #窗口全屏 browser....
  • #自动登入的功能 driver.find_element_by_id('number').send_keys('账号') driver.find_element_by_id('password').send_keys('密码') driver.find_element_by_id('id').click()#点击登入按钮 #将excel所有数据...
  • 想要做的表(表2)是110个表格(就像个人简历一样,放在了一个excel文件中),每个表格共9行,都有固定的格式,如“姓名”“事项”“期限”等,数据与表1一样,但格式与顺序不同,是按个人分类的。目前的任务就是从表1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,039
精华内容 3,615
关键字:

python自动填写网页表单

python 订阅