无法访问HTML表单上的文本框

2024-09-30 01:33:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我找不到登录文本框。我可以选择表单,但找不到输入文本。有人能帮我吗?在

我试图在http://www.safilonet.safilo.com/上使用此脚本自动登录 谢谢

下面是代码和错误消息:

def login(self):
url = self._baseUrl + '/webapp/commerce/safilo/jsp/logon.jsp?lng=E&cpy=10'
self._br.open(url, timeout=30.0)
self._br.select_form(name='logon') 
print 'entrou'
self._br.form['login'] = self._username
self._br.form['password'] = self._password
self._br.submit()

if self._verbose: print 'Login successful.\n'

self.last_logged_in = datetime.datetime.now()

错误消息:

^{pr2}$

机械化_窗体控制未找到错误:没有与名称“login”匹配的控件


Tags: brselfform消息url表单datetime错误
1条回答
网友
1楼 · 发布于 2024-09-30 01:33:19

根据W3C validator的说法,问题似乎是所讨论的页面包含大量无效的HTML

如您所见,mechanize无法查看“登录”字段:

>>> from mechanize import Browser
>>> br = Browser()
>>> br.open('http://www.safilonet.safilo.com/webapp/commerce/safilo/jsp/logon.jsp?lng=E&cpy=10')
<response_seek_wrapper at 0x1011cc638 whose wrapped object = <closeable_response at 0x1011cc488 whose fp = <socket._fileobject object at 0x1002bd650>>>
>>> br.select_form('logon')
>>> br._pairs()
[('merchant', '23888'), ('lng', 'E'), ('cpy', '10'), ('rightPageURL', 'http://www.safilonet.safilo.com/webapp/commerce/catalog/home.html'), ('password', '')]

如果您可以控制此页面,请尽快修复HTML。在

不过,我想你不会的,所以这里有一些备选方案:

  • 使用硒
  • 尝试使用直接发布URL登录(不确定mechanize是否支持此功能)

相关问题 更多 >

    热门问题