如何使用Python填写表单并触发更改事件?

时间:2017-05-16 20:59:33

标签: python forms dom beautifulsoup

我有一个Web表单,我正在尝试使用Python填写。这不是按下提交按钮的表单。它是一个动态表单,可以根据更改事件进行更新。我使用Greasemonkey和jQuery一次使用* .user.js脚本进行了此设置。我必须填写该字段,然后手动触发更改事件,以便服务器实际使用输入的值更新数据库。无法再查看此脚本。

现在我正在尝试做一个非常类似的任务,但是使用Python。我可以访问该站点,使用BeautifulSoup解析数据,并选择需要修改的元素。但我很难理解与BeautifulSoup对象中的元素交互是否实际上模仿了Web浏览器的使用,或仅仅是存储在对象中的文本。最后,假设它实际上与与网站交互相同,如何触发更改事件以使网站更新其数据库?

解析的HTML元素示例:

<td class="cell text-center hidden-text cell-by-class " data-an="13"  data-sn="14830" data-status="" data-transfer-value="">
<span class="score-value text-uppercase"></span>
<div class="score-info "></div>
</td>

提取上述元素(以及其他类似元素)的工作代码:

...{working code}....
soup = BeautifulSoup(html_from_request.text,'lxml')
elements = soup.select('td[data-an="13"]')

print(elements)产生一个元素列表,包括上面的TD元素。我需要在标签中输入一些值...应该不是问题。但是当我在那里输入文本值时,如何触发更改事件,以便它像我在浏览器窗口中修改值一样,这将触发在服务器数据库中更新该值?

我希望我说得那么清楚。

0 个答案:

没有答案