我有有线互联网,它要求我通过一个网页登录。它每天早上8点和12点就会重置,这真让人恼火。我想写一个python脚本,它将自动登录过程。到目前为止,我读过很多StackOverflow解决方案,但没有一个有效的。我试过请求、斜纹、机器人浏览器等。
在检查页面源代码时,我遇到了一个doLogin()ajax脚本,它是由登录按钮触发的。这里是完整的页面来源。
下面是我的一个失败的实现
import requests
# Fill in your details here to be posted to the login form.
payload = {
'action': 'http://10.10.0.1/login',
'actualusername': 'username',
'actualpassword': 'password'
}
# Use 'with' to ensure the session context is closed after use.
with requests.Session() as s:
p = s.post("http://103.251.83.134/captiveportal/Default.aspx", data=payload)
# print the html returned or something more intelligent to see if it's a successful login page.
print p.text
# An authorised request.
#r = s.get('http://www.google.com')
#print r.text
我用Selenium WebDriver修复了这个问题。检查答案。
您的URL可能是错误的。查看源代码,看起来HTML表单将数据发布到http://10.10.0.1/login
页面,然后dologin()
函数将数据提交到register.aspx?CheckCustomerStatus=1
。
另外,您的负载包括变量action
,您使用的是session
对象,我认为这是不必要的。
我无法测试它,因为它是一个我无法访问的本地登录页面,但我会尝试修改您的代码,使用一个更简单的POST请求将登录信息提交到两个页面
使用Selenium:)下载ChromeDriver到路径,使一个两次变量并检查每分钟的时间,如果是‘登录时间',你的浏览器将通过授权。
from selenium import webdriver
def Authorization_for_broadband():
driver = webdriver.Chrome("C:\YOURPATHTO\CHROMEDRIVER.EXE")
driver.get('http://10.10.0.1/login')
driver.find_element_by_xpath('//*[@id="username"]').send_keys('USERNAME')
driver.find_element_by_xpath('//*[@id="password"]').send_keys('PASSWORD')
driver.find_element_by_xpath('//*[@id="btnLogin"]').click()
driver.close
while(1):
if time=='your-login-period1' or time == 'your-login-period2':
Authorization_for_broadband()
本文向大家介绍selenium+python实现自动登录脚本,包括了selenium+python实现自动登录脚本的使用技巧和注意事项,需要的朋友参考一下 os:windows 前提:Python,selenium,IEDriverServer.exe,ie浏览器 首先安装Python2.7 安装成功后,计算机联网状态下在cmd命令行下输入:pip install -U selenium sele
我想写个脚本登录https://us.etrade.com/e/t/user/login 我正在使用Selenium,但它会在启动时检测到Selenium,并生成一条消息,表示服务器拥挤,发生这种情况时,我无法登录。我也尝试过使用未检测到的硒和硒隐形,但都被检测到了。我真的需要自动化这个登录过程。我尝试过使用python请求,但这不起作用。我对任何其他技术或方法持开放态度,允许我实现自动化。请帮忙
我是selenium的新手,这里我想问一个问题代码(实际上不是我的),这是代码 我用这些代码自动打开Gmail中不太安全的应用程序
我一直在尝试使用python selenium自动登录google,但在输入用户名并单击next之后,我收到了消息 这可能是因为网页检测到chrome浏览器由测试自动化软件控制。但是我已经尝试使用以下设置代码排除该开关: 但它仍然不起作用。我用的是Chrome98。 我怎样才能解决这个问题?或者也许有另一种方法可以使用python-selenium和用户名/密码组合自动登录谷歌帐户?
我有一个使用SpringMVC的Java网络应用程序。该 Web 应用程序在 jboss AS7.1 服务器上运行,该服务器使用带有表单认证的 JAAS 登录模块。当用户在表单上填写其用户名和密码时,登录工作顺利。 我现在想创建一个java控制器,它“将用户登录”,就好像用户填写了日志通知一样。 当上述方法完成时,应允许对任何安全页面的任何访问,因为用户被视为已登录。 可以通过访问Jboss的lo
而且,再一次,即使键入正确的凭据,正如我在“userDetailsService”方法中指定的那样,我也无法登录,但这次我终于可以在控制台上看到错误消息: 显然我走了,但没有离开这个地方,因为现在我不知道我的代码有什么问题...