以编程方式输入密码,然后按按钮

问题描述 投票:-2回答:1

我正在开发一个项目,我继承了一些代码,这些代码使用python的'requests'库登录到一个网站,并在网站上搜索内容。 “登录”代码使用后端URL将POST凭据发送到端点。 (工作良好)

该网站的另一部分,但没有后端URL。它只有一个表格,需要输入一个密码才能访问数据。下面是div代码

<input class="form-control" type="password" placeholder="Enter your
PIN number" id="pin" style="width:200px; float:left; display:inline;"
onkeypress="testPinEntry(event);">

<a id="pin_verify" style="float:left; clear:none; height:34px;" class="btn- 
glow primary login" href="#" onclick="verify_pin();">Verify PIN</a>

有谁知道使用请求库输入数据并按下按钮的好方法?我倾向于使用xpath并从那里开始(我非常熟悉写作scapers - https://github.com/1jkunz1/MLB-Sabermetrics-Scraper/blob/master/src/scraper.py

我真的不想使用selenium来完成这项任务,因为我不希望项目依赖它,但我能找到的大多数解决方案似乎都更喜欢selenium。

javascript python html python-requests scraper
1个回答
2
投票

如果您使用的是任何现代浏览器,则可以按“F12”打开开发人员工具。从那里,您可以转到“网络”标签,查看您浏览的所有请求。

打开该选项卡后,发送请求(您拥有的引脚),并在网络控制台中显示新的POST请求。单击它,在左侧打开的选项卡上,搜索“查看请求正文”(或在Firefox上“编辑并重新发送 - >正文”)(或类似名称,具体取决于您的浏览器),您将能够查看它发送给服务器的所有数据作为键:值对。

您可以使用Python请求发送包含所需数据的POST请求(data = {key:value,...})。请记住,每个请求可能需要更改某些字段。有些网站对每个网站都没有唯一有效的令牌,它们通常位于标签的标题中或表单本身作为隐藏字段。

编辑。不是请求标题,你想要的是请求体,抱歉。

© www.soinside.com 2019 - 2024. All rights reserved.