gpt4 book ai didi

Python点击网页上的按钮(后端)

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:20 28 4
gpt4 key购买 nike

我正在尝试使用Python来模拟登录公司电子邮件。

脚本有效查找,结果页面显示已登录标志。

import urllib
import urllib2
import mechanize
import cookielib

br = mechanize.Browser()

cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)

br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

br.addheaders = [('User-agent', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)')]

url = 'http://www.company.com/'
form_data = {'name_file': 'THENAME', 'password_field': 'THEPASSWORD'}
params = urllib.urlencode(form_data)
response = br.open(url, params)

但是我需要点击网页上的“转到电子邮件”按钮才能进入电子邮件仪表板。请注意,在单击按钮之前和之后,此处的网址不会更改,也不会重定向到任何其他页面。

HTML 脚本如下所示。我认为这是一个按钮。

id=mail1_btnGoto class=btn onmouseover="this.className='btnOver'" onmouseout="this.className='btn'" name=mail1$btnGoto value="GoTo Email" type=submit>

我想使用winapi来模拟鼠标点击,但它很愚蠢,因为它只在前端控制鼠标。在这种情况下,Selenium 不是一个解决方案,因为我想让脚本在后端运行。

如何在网页上显示“点击”按钮?

最佳答案

电子邮件仪表板似乎是由 Javascript 驱动的,因此您不能简单地使用 winapi 来模拟 mouseclick 而不评估脚本。

通常有两种解决方法:

  1. 使用全功能浏览器驱动程序。正如您上面提到的,selenium 是许多编程语言的不错选择。 webdriver不需要手动打开浏览器,可以完全通过脚本控制。您可以尝试ghost driver反而。它使用PhantomJS,并且应该在后端服务器中运行。(但需要安装phantomjs)

  2. 模拟请求。因为登录通常会调用 http/https 请求。您可以使用 python 来模拟该请求。您可以使用 http 调试工具,如 fiddler , wireshark或 Chrome Web Inspector 来捕获浏览器发送到身份验证服务器的信息。

我试图做到具体和详细。但由于网络爬行的多样性,我无法提供分步指南。

关于Python点击网页上的按钮(后端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23668757/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com