Skip to main content
 首页 » 编程设计

python之使用 Splinter 填写密码表单

2025年05月04日11jiqing9006

我正在尝试填写两份表格并登录我的银行网站。

我可以获取第一个用于填写用户名的表单,但我似乎无法获取用于填写密码的表单。

这是我使用的代码:

from splinter import Browser 
 
username2 = '***' 
password2 = '***' 
 
browser2 = Browser() 
browser2.visit('http://mijn.ing.nl') 
 
browser2.find_by_css('.firstfield').fill(username2) 
browser2.find_by_id('#easnhbcc').fill(password2) 

这是完整的回溯:

/usr/local/bin/python2 "/Users/narekaramjan/Dropbox/Python/Python 273/Test.py" 
Traceback (most recent call last): 
  File "/Users/narekaramjan/Dropbox/Python/Python 273/Test.py", line 26, in <module> 
    browser2.find_by_id('#easnhbcc').fill(password2) 
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/splinter/element_list.py", line 73, in __getattr__ 
    self.__class__.__name__, name)) 
AttributeError: 'ElementList' object has no attribute 'fill' 
 
Process finished with exit code 1 

我也试过:

browser2.find_by_name('easnhbcc').fill(password2) 

我怎样才能得到要填写的密码表?

请您参考如下方法:

这是工作代码:

from splinter import Browser      
 
# Define the username and password 
username2 = '***' 
password2 = '***' 
 
# Choose the browser (default is Firefox) 
browser2 = Browser() 
 
# Fill in the url 
browser2.visit('https://mijn.ing.nl/internetbankieren/SesamLoginServlet') 
 
# Find the username form and fill it with the defined username 
browser2.find_by_id('gebruikersnaam').first.find_by_tag('input').fill(username2) 
 
# Find the password form and fill it with the defined password 
browser2.find_by_id('wachtwoord').first.find_by_tag('input').fill(password2) 
 
# Find the submit button and click 
browser2.find_by_css('.submit').first.click() 
 
# Print the current url 
print browser2.url 
 
# Print the current browser title 
print browser2.title 
 
# Print the current html source code 
print browser2.html