python - 使用 Robobrowser python 库登录 ASPX

标签 python robobrowser

尝试使用 Robobrowser 自动登录 asp 站点。 robobrowser 没有错误,但它只返回登录站点,而不返回成功的站点。

</td><td class='LoginFormData' width='10px'><input class='LoginFormData' type='text' name='L1' id='L1' size='8' value='' onfocus='javascript:SetOrigInput("L1");' onkeydown='javascript:SubmitForm("2|1300,5|2,27|1,44|1,64|1,68|1,", "", event);' onkeyup='javascript:VerifyTextInput("L1", ",1,", "", 50, 0);'>
</td></tr><tr><td class='LoginFormDetail'>Password</td><td class='LoginFormData' width='10px'><input class='LoginFormData' type='password' name='P1' id='P1' size='8' value='' onfocus='javascript:SetOrigInput("P1");' onkeydown='javascript:SubmitForm("2|1300,5|2,27|1,44|1,64|1,68|1,", "", event);' onkeyup='javascript:VerifyTextInput("P1", ",1,", "", 50, 0);'>
</td></tr><tr><td class='LoginButtons' colspan='2'><input type='button' class=LoginFormButton name='login' id='login' value='Login' onclick='javascript:CheckLogin("2|1300,5|2,27|1,44|1,64|1,68|1,", "080402", "User name or password is missing", "Wrong CAPTCHA");'>

脚本:

from robobrowser import RoboBrowser

url = 'https://url.org'
login_url = url + '/Login.aspx'

username = "name"
password = "pass"

browser = RoboBrowser(history=True)
browser.open(login_url)

signin = browser.get_form(id='frm')
signin["L1"].value = username
signin["P1"].value = password
signin["login"].value = "Login"
browser.submit_form(signin)
print browser.url
print browser.parsed

最佳答案

我使用 selenium 来完成这个工作:

from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
display = Display(visible=0, size=(1024, 768))
display.start()
driver = webdriver.Firefox()
driver.get("https://aspxsite.org/")
username = driver.find_element_by_name("L1")
username.clear()
username.send_keys("$username")
password = driver.find_element_by_name("P1")
password.clear()
password.send_keys("$password")
driver.find_element_by_id("login").click()
driver.get("https://aspxsite.org/XOOverview.aspx")
driver.save_screenshot('screenie.png')
driver.close()
display.stop()

关于python - 使用 Robobrowser python 库登录 ASPX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44737906/

相关文章:

python - robobrowser 处理 json 中的响应

python - 如何删除 Robobrowser 中的 AttributeError

Python RoboBrowser - 如何从此页面获取内容

python-2.7 - python RoboBrowser 单击单选按钮

python - OpenCV Python calcOpticalFlowFarneback

python - 如何在 Pandas DataFrame 散点图中添加图例?

python - Tensorflow 对象检测 - 避免重叠框

python - 使用 Python 单击网站按钮

python - 在函数内部导入库的优势?

python - Django:如何使用参数重定向