CN103268331B - 自动登录方法及装置 - Google Patents

自动登录方法及装置 Download PDF

Info

Publication number
CN103268331B
CN103268331B CN201310165222.4A CN201310165222A CN103268331B CN 103268331 B CN103268331 B CN 103268331B CN 201310165222 A CN201310165222 A CN 201310165222A CN 103268331 B CN103268331 B CN 103268331B
Authority
CN
China
Prior art keywords
login password
login
account address
logon form
account
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310165222.4A
Other languages
English (en)
Other versions
CN103268331A (zh
Inventor
杨赛
曾溪泉
万勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310165222.4A priority Critical patent/CN103268331B/zh
Priority claimed from CN2011103719130A external-priority patent/CN102495855B/zh
Publication of CN103268331A publication Critical patent/CN103268331A/zh
Application granted granted Critical
Publication of CN103268331B publication Critical patent/CN103268331B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了自动登录方法及装置,其中,所述方法包括:接收到自动登录到指定账户的请求时,从预先保存的配置文件中获取所述指定账户的账户地址、登录密码及登录页面的URL,根据所述URL加载所述登录页面;针对所述登录页面对应的HTML文档中的登录表单,查找出所述登录表单中包含的登录密码输入框以及账户地址输入框,并确定所述账户地址输入框中需填入的内容;将账户地址输入框中需填入的内容写入到所述账户地址输入框中,并将所述登录密码写入到所述登录密码输入框中;提交写入了账户地址内容以及登录密码后的登录表单,完成对所述指定账户的自动登录。通过本发明,能够省去整理数据的繁琐过程,并避免出现不能向后兼容的问题。

Description

自动登录方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及自动登录方法及装置。
背景技术
电子邮箱是通过网络电子邮局为网络客户提供的网络交流电子信息空间。电子邮箱具有存储和收发电子信息的功能,是互联网中重要的信息交流工具。通过电子邮箱,用户可以随时随地收发邮件,极大地方便了人们的生活。
以网页为界面的电子邮箱服务是电子邮箱服务的一种常见方式,在这种方式下,可以通过网页浏览器进入电子邮箱的登录页面,然后在登录页面中的登录表单中填入用户名及密码等数据,再点击“登录”等提交按钮,即可完成电子邮箱的登录,然后就可以进行收发邮件的操作了。
然而,在上述登录过程中,用户每次登录时都需要通过键盘输入用户名及密码,需要较多的用户操作才能完成登录。为了节省用户操作,有些网页浏览器提供了电子邮箱自动登录功能,只要用户预先设置自己的用户名及对应的密码,就可以直接点击浏览器提供的“自动登录”按钮登录到自己的邮箱,而不需要首先打开登录界面,再在输入框中填写用户名密码等数据。
现有技术在实现电子邮箱的自动登录时,通常采用以下方式:首先,由开发人员以人工的方式分析登录页面中的登录表单,以及提交登录请求时需要的表单数据及目标URL(Universal Resource Locator,统一资源定位符),并获取登录所需的数据格式;然后同样由开发人员根据分析出的以上数据构造一个模拟的登录表单,当用户点击“自动登录”按钮时,就可以将预先保存的用户名以及密码等数据,填入到模拟的登录表单中,并提交到目标URL,以此来完成电子邮箱的自动登录。
但是,本发明人在实现本发明的过程中发现:采用以上方式实现电子邮箱的自动登录时,至少存在以下问题:首先,几乎每种邮箱的登录页面都不同,因此,每支持一种邮箱都需要重新分析登录界面,并构造与之对应的模拟登录 表单,整理数据的过程比较繁琐;其次,不能向后兼容,也即,一旦电子邮箱服务提供商修改了登录方式,则使用原来构造的模拟登录表单进行提交时会导致登录失败。
发明内容
本发明提供了自动登录方法及装置,能够省去整理数据的繁琐过程,并避免出现不能向后兼容的问题。
本发明提供了如下方案:
一种自动登录方法,包括:
接收到自动登录到指定账户的请求时,从预先保存的配置文件中获取所述指定账户的账户地址、登录密码及登录页面的统一资源定位符URL,根据所述URL加载所述登录页面;
针对所述登录页面对应的文本标记语言HTML文档中的登录表单,根据所述登录表单中各个元素的属性,查找出所述登录表单中包含的登录密码输入框以及账户地址输入框,并确定所述账户地址输入框中需填入的内容;
将账户地址输入框中需填入的内容写入到所述账户地址输入框中,并将所述登录密码写入到所述登录密码输入框中;
提交写入了账户地址内容以及登录密码后的登录表单,完成对所述指定账户的自动登录。
一种自动登录装置,包括:
加载单元,用于接收到自动登录到指定账户的请求时,从预先保存的配置文件中获取所述指定账户的账户地址、登录密码及登录页面的统一资源定位符URL,根据所述URL加载所述登录页面;
分析单元,用于针对所述登录页面对应的文本标记语言HTML文档中的登录表单,根据所述登录表单中各个元素的属性,查找出所述登录表单中包含的登录密码输入框以及账户地址输入框,并确定所述账户地址输入框中需填入的内容;
写入单元,用于将账户地址输入框中需填入的内容写入到所述账户地址输入框中,并将所述登录密码写入到所述登录密码输入框中;
提交单元,用于提交写入了账户地址内容以及登录密码后的登录表单,完成对所述指定账户的自动登录。
一种自动登录方法,包括:接收到自动登录到指定账户的请求时,从预先保存的配置文件中获取所述指定账户的账户地址、登录密码及登录页面的统一资源定位符URL,根据所述URL加载所述登录页面;针对所述登录页面对应的文本标记语言HTML文档中的登录表单,根据所述登录表单中各个元素的属性,查找出所述登录表单中包含的登录密码输入框以及账户地址输入框,并确定所述账户地址输入框中需填入的内容;其中所述查找出所述登录表单中包含的登录密码输入框及账户地址输入框包括:查找出所述登录表单中包含的输入框,并将所有的输入框进行两两组合;选择其中任一组合中的两个输入框分别作为账户地址输入框及登录密码输入框进行以下测试:提交写入了账户地址内容以及登录密码后的登录表单,如果能够提交成功,则将该组合中的两个输入框分别确定为账户地址输入框及登录密码输入框;否则,选择其他组合中的两个输入框进行上述测试;将账户地址输入框中需填入的内容写入到所述账户地址输入框中,并将所述登录密码写入到所述登录密码输入框中;提交写入了账户地址内容以及登录密码后的登录表单,完成对所述指定账户的自动登录。
一种自动登录装置,包括:加载单元,用于接收到自动登录到指定账户的请求时,从预先保存的配置文件中获取所述指定账户的账户地址、登录密码及登录页面的统一资源定位符URL,根据所述URL加载所述登录页面;分析单元,用于针对所述登录页面对应的文本标记语言HTML文档中的登录表单,根据所述登录表单中各个元素的属性,查找出所述登录表单中包含的登录密码输入框以及账户地址输入框,并确定所述账户地址输入框中需填入的内容;其中所述分析单元包括:输入框查找子单元,用于查找出所述登录表单中包含的输入框,并将所有的输入框进行两两组合;测试子单元,用于选择其中任一组合中的两个输入框分别作为账户地址输入框及登录密码输入框进行以下测试:提交写入了账户地址内容以及登录密码后的登录表单,如果能够提交成功,则将该组合中的两个输入框分别确定为账户地址输入框及登录密码输入框;否则,选择其他组合中的两个输入框进行上述测试;写入单元,用于将账户地址输入框中需填入的内容写入到所述账户地址输入框中,并将所述登录密码写入到所述登录 密码输入框中;提交单元,用于提交写入了账户地址内容以及登录密码后的登录表单,完成对所述指定账户的自动登录。
根据本发明提供的具体实施例,本发明具有以下技术效果:
在本发明实施例中,在需要进行自动登录时,运行一个脚本,通过该脚本对登录页面上的元素进行分析,从而查找到账户地址输入框以及登录密码输入框,还可以得知需要向账户地址输入框中写入完整的账户地址,还是仅写入账户地址的用户名部分等等,然后将账户地址写入到账户地址输入框,将登录密码写入到登录密码输入框,然后提交,就可以实现自动登录。可见,在实现自动登录的过程中,不需要开发人员人工地对登录页面进行分析,也不需要构造模拟的登录表单,因此,省略了整理数据的繁琐过程。另外,由于是在登录页面加载后,对页面中的元素进行分析,因此,即使登录页面中的登录方式发生变化,也能够实现正常的登录,避免了出现不能向后兼容的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的方法的流程图;
图2是登录页面示意图;
图3是本发明实施例提供的方法的另一流程图;
图4是本发明实施例提供的装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
首先需要说明的是,本发明实施例提供的自动登录方法,可以适用但不限于以下情景:电子邮箱账户的自动登录、博客、微博等账户的自动登录,以及网上购物网站的自动登录等等。为了便于描述,下面仅以电子邮箱账户的自动登录为例进行介绍,其他情景与之类似,只是把“邮箱账户”改为相应的账户即可。
参见图1,本发明实施例提供的电子邮箱自动登录方法包括以下步骤:
S101:接收到自动登录到指定邮箱账户的请求时,从预先保存的配置文件中获取所述指定邮箱账户的邮箱地址、登录密码及登录页面的URL,根据所述URL加载所述登录页面;
首先需要说明的是,为了使用本发明实施例的方法进行电子邮箱的自动登录,用户在初次设置时,可以单击“添加邮件提醒账户”(当然也可能是其他滋字样)按钮,并按提示添加个人邮箱账户,在写入邮件地址以及登录密码之后,浏览器就可以将邮件地址、登录密码以及对应的登录页面的URL保存在配置文件中。这里需要说明的是,可以添加无限个账户,并且可以将各个邮箱账户的邮箱地址以下拉列表等方式显示在浏览器的工具栏中。当用户需要自动登录到某邮箱账户时,可以点击该下拉列表,然后从中选择对应的邮箱地址进行点击即可。相应的,当用户点击了某邮箱地址之后,浏览器就相当于接收到了自动登录到该邮箱账户的请求,然后从配置文件中取出与该邮箱地址对应的登录密码以及登录页面的URL,并根据该URL加载该登录页面。
S102:针对所述登录页面对应的HTML(Hypertext Markup Language,文本标记语言)文档中的登录表单,根据所述登录表单中各个元素的属性,查找出所述登录表单中包含的登录密码输入框以及邮箱地址输入框,并确定所述邮箱地址输入框中需填入的内容;
由于是要实现登录,因此就需要将用户的邮箱地址以及登录密码按照一定的格式进行提交,这种格式是写在登录页面中的,如果用户直接将登录密码机邮箱地址写入在登录页面中的相应位置,点击登录之后,就可以实现这种按照一定格式的提交。但是,现在的目的是要实现自动登录,也就是说,不是用户直接将邮箱地址以及登录密码等输入到登录页面中的指定位置,而是需要由浏览器代替用户实现这种写入的过程。然而,在本发明实施例中,并没有预先构 造一个模拟的登录表单,浏览器无法直接得知需要将邮箱地址以及登录密码写在哪里,因此,为了实现正确的写入,本发明实施例采用了一种新的实现方式,即在将登录页面加载完成之后,通过分析登录页面中的元素,来确定如何进行邮箱地址及登录密码的写入,从而实现正确地提交以及登录。
为了分析登录页面中的元素,本发明实施例采用了分析登录页面对应的HTML文档的方式。其中,HTML是用于描述网页文档的一种标记语言,HTML文档通过标记符号来标记要显示的网页中的各个部分。也就是说,网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等),浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容。因此,对于邮箱的登录页面而言,也对应着HTML文档,当登录页面加载完毕之后,就可以获取到对应的HTML文档,并且,登录页面将会显示成什么样子,是由对应的HTML文档决定的,例如,如果一个登录页面中显示了一个用户输入邮箱地址的输入框,则在HTML文档中一定存在关于该输入框的具体描述,包括将该输入框显示在什么位置,以及显示的属性(例如是否存在下拉列表等)等。因此,通过分析登录页面的HTML文档可以从整体上了解登录页面的情况。另一方面,由于HTML文档是按照一定的规范编写而成的,因此,也为机器分析提供了基础。
具体在对HTML文档进行分析时,就可以首先找到其中包含的登录表单,然后对登录表单中的各个元素的属性进行分析。为了便于理解,首先对登录表单以及其中包含的元素的概念进行简单的介绍。参见图2,方框21所示即为登录页面中的一个登录表单,其中的“帐号”、“密码”等字样,以及“帐号”之后用于输入具体帐号的输入框、“密码”之后用于输入密码的输入框等等,都是该登录表单中的元素。相应的,在该登录页面对应的HTML文档中也都包含有关于该登录表单,以及其中的各个元素的属性的描述。需要说明的是,在实际应用中,一个登录页面中可能会包含多个登录表单,例如,同样如图2所示,方框22示出的“邮箱服务1”、方框23示出的“邮箱服务2”、方框24示出的“邮箱服务3”以及方框25示出的“邮箱服务4”共用同一个登录页面,但各自对应着不同的登录表单,其中,图2中的方框21中的登录表单 就是邮箱服务1的登录表单,当通过鼠标点击等方式切换到其他的邮箱服务时,又会显示出切换后的邮箱服务对应的登录表单(图2中未示出),针对这种情况,可以枚举出HTML文档中的各个登录表单,然后分别针对各个登录表单中的各个元素进行具体的分析。
通过对登录表单中各个元素的属性的分析,就可以从中找出登录密码输入框以及邮箱地址输入框,找到这两个输入框之后,就意味着,浏览器已经获知了需要将用户的邮箱地址以及登录密码填写在什么地方。这里需要说明的是,一个完整的邮箱地址通常包括用户名及域名两部分,两部分中间用“@”隔开,在实际应用中,可能存在以下情况:根据邮箱服务提供商的不同,邮箱地址输入框中需要输入的内容可能不尽一致。例如,有些邮箱服务的登录表单中,默认给出了邮箱地址的域名部分,只需要用户在邮箱地址输入框中写入邮箱地址的用户名部分即可;还有些登录表单中可能给出了下拉列表形式的域名选择框,这种情况下,往往需要用户选择后面的域名,并将邮箱地址的用户名部分写入到邮箱地址输入框中;还有些登录表单中可能既没有给出默认的域名,也没有给出域名选择框,此时,就需要用户在邮箱地址输入框中输入完整的邮箱地址。可见,由于可能存在上述各种不同的情况,因此,仅仅确定出邮箱地址输入框的位置还是不够的,还需要确定出需要向邮箱地址输入框中输入什么内容。
具体实现时,为了查找出登录表单中包含的登录密码输入框及邮箱地址输入框,并确定出邮箱地址输入框中需填入的内容,可以采用多种方法实现,例如,在其中一种方法中,考虑到登录密码输入框通常具有比较特殊的属性(也即,在用户向其中输入登录密码时,会自动显示成“●●●”或者“***”等等),并且登录密码输入框的上一个元素要么是邮箱地址输入框,要么是域名选择框,要么是域名文本,而针对后两种情况,域名选择框或者域名文本的上一个元素就很可能是邮箱地址输入框。因此,这种方法可以是:首先枚举登录表单中的所有元素,并根据元素的类型属性(例如元素是一个输入框,并且其中输入的字符的属性为type=password),查找出登录密码输入框,然后再通过分析登录密码输入框的上一个元素,查找出邮箱地址输入框。
具体的,在查找邮箱地址输入框时,可以采用以下方式来实现:首先,判 断登录密码输入框的上一个元素是否为域名选择框,如果是,并且域名选择框的上一个元素为文本输入框,则将域名选择框的上一个元素确定为邮箱地址输入框,同时,由于域名选择框中存在多个域名,因此,但只有其中一个是与用户指定的邮箱地址相匹配的,因此可以同时根据用户指定的邮箱地址选中匹配的域名。另外,针对这种情况,由于邮箱地址的域名已经在域名选择框中选中了,因此,就可以将邮箱地址输入框中需输入的内容确定为邮箱地址的用户名部分。
如果该登录密码输入框的上一个元素不是域名选择框,则可以进一步判断登录密码输入框的上一个元素是否为文本输入框,如果是,则可以直接将登录密码输入框的上一个元素确定为登录地址输入框,此时,相当于既没有给出域名选择框也没有给出域名文本,因此,可以将完整的邮箱地址确定为邮箱地址输入框中需写入的内容;否则,如果登录密码输入框的上一个元素不是文本输入框,则继续判断登录密码输入框的上一个元素是否为域名文本,如果是,并且域名文本的上一个元素为文本输入框,则该域名文本的上一个元素确定为登录地址输入框,此时,由于已经给出了默认的域名文本,因此,可以将邮箱地址的用户名部分确定为邮箱地址输入框中需写入的内容。
需要说明的是,在上述登录密码输入框、邮箱地址输入框,以及确定邮箱地址输入框中需填入的内容的实现方式只是众多实现方式中的一种,例如,在首先查找出登录密码输入框的方式下,在查找邮箱地址输入框时,其他的方式还可以是首先判断登录密码输入框的上一个元素是不是文本输入框或者域名文本等等;或者,还可以不是首先查找登录密码输入框,而是首先查找是否存在域名选择框或者域名文本;再者,还可以根据登录表单中各个元素的属性,找出其中包含的所有的输入框,然后将这些输入框两两组合,向每一组合中的两个输入框中输入邮箱地址以及密码,并进行提交尝试,如果提交不成功,则采用其他组进行尝试,直到提交成功为止,等等。其他的具体实现方式这里不再一一赘述。
S103:将邮箱地址输入框中需填入的内容写入到所述邮箱地址输入框中,并将登录密码写入到登录密码输入框中;
由于已经找到了邮箱地址输入框以及登录密码输入框,并且确定了需要向 邮箱地址输入的内容,因此,就可以将邮箱地址输入框中需填入的内容写入到邮箱地址输入框中,并将登录密码写入到登录密码输入框中。这就相当于已经按照登录页面规定的格式填写了邮箱地址以及登录密码,其结果与用户手动填写邮箱地址及登录密码时是相同的。
S104:提交写入了邮件地址内容以及登录密码后的登录表单,完成对所述指定邮箱账户的自动登录。
在完成步骤S103中的写入操作之后,就可以将登录表单提交到邮箱服务器,等待服务器的响应,并完成自动登录过程。需要说明的是,在实际应用中,如果出现邮箱地址或者登录密码输入错误等情况,则登录页面可能会跳转到另一个页面,此时,如果仍然写入之前的邮箱地址以及密码,则可能会造出死循环。因此,为了防止这种现象的发生,可以在提交之前首先判断当前的登录页面之前是否发生过跳转,如果一个登录页面之前发生过跳转,就不应该再向服务器提交邮箱地址及登录密码,如果没有发生过跳转,再进行提交。
其中,具体在提交登录表单时,也可以有多种实现方式,例如,登录页面中一般都存在一个“登录”等提交按钮,因此,可以首先判断登录页面中是否存在提交按钮元素;如果存在,则通过调用对登录表单中提交按钮进行点击的事件进行提交;如果不存在,则可以首先判断登录表单中是否存在提交函数,如果存在,则通过调用该提交函数进行提交,否则不存在提交函数,则通过调用登录表单中的提交方法进行提交。总之,如果登录页面中存在提交按钮,则只要模拟点击该提交按钮的事件,即可触发提交流程;如果不存在,则可以调用邮箱服务提供商提供的表单提交函数,该表单提交函数会进一步调用表单提交方法进行提交;如果连这个表单提交函数都不存在,则还可以直接调用邮箱服务提供商提供的表单提交方法进行提交。当然,上述方法也不是唯一的,例如,还可以不进行前面的判断,直接调用表单提交方法进行提交,或者,不判断是否存在提交按钮,直接判断是否存在表单提交函数,等等。
为了更好地理解本发明实施例提供的电子邮箱自动登录方法,下面通过一个具体应用中的流程图进行更为详细地介绍。参见图3,该方法可以包括以下步骤:
S301:枚举HTML文档中的所有登录表单;
S302:枚举登录表单中的所有元素;
S303:判断是否找到了登录密码输入框;如果找到,进入步骤S304,否则登录失败;
S304:查找密码登录输入框的上一个元素;
S305:判断密码登录输入框的上一个元素是否为域名选择框;如果是,进入步骤S306;否则,进入步骤S308;
S306:选中与指定邮箱账户相匹配的域名;
S307:查找域名选择框的上一个元素,并进入步骤S310;
S308:判断密码登录输入框的上一个元素是否为域名文本(可以采用正则法判断);如果是,进入步骤S309,否则,进入步骤S310;
S309:查找域名文本的上一个元素,并进入步骤S310;
S310;判断是否为文本输入框;如果是,进入步骤S311,否则,登录失败;
S311:记录下该文本输入框为邮箱地址输入框;
S312:判断邮箱地址输入框与登录密码输入框之间是否存在域名选择框;如果是,进入步骤S314,否则,进入步骤S313;
S313:判断邮箱地址输入框与登录密码输入框之间是否存在域名文本;如果是,进入步骤S314,否则,进入步骤S315;
S314:将邮箱地址的用户名部分写入到邮箱地址输入框中,并进入步骤S316;
S315:将完整的邮箱地址写入到邮箱地址输入框中,并进入步骤S316;
S316:将登录密码输入到登录密码输入框中;
S317:判断登录页面是否发生过跳转;如果是,登录失败,否则,进入步骤S318;
S318:枚举登录表单中登录密码输入框之后的元素;
S319:判断是否有提交按钮元素;如果有,则进入步骤S302,否则,进入步骤S321;
S320:调用点击提交按钮的时间进行提交;
S321:判断是否有表单提交函数;如果有,进入步骤S322,否则,进入步骤S324;
S322:调用表单提交函数;
S323:判断调用表单提交函数是否成功,如果成功,进入步骤S324,否则登录失败;
S324:调用表单提交方法进行提交;
S325:完成自动登录。
由以上所述可以看出,在本发明实施例中,在需要进行自动登录时,可以运行一个脚本,通过该脚本对登录页面上的元素进行分析,从而查找到账户地址输入框以及登录密码输入框,还可以得知需要向账户地址输入框中写入完整的账户地址,还是仅写入账户地址的用户名部分等等,然后将账户地址写入到账户地址输入框,将登录密码写入到登录密码输入框,然后提交,就可以实现自动登录。可见,在实现自动登录的过程中,不需要开发人员人工地对登录页面进行分析,也不需要构造模拟的登录表单,因此,省略了整理数据的繁琐过程。另外,由于是在登录页面加载后,对页面中的元素进行分析,因此,即使登录页面中的登录方式发生变化,也能够实现正常的登录,避免了出现不能向后兼容的问题。
与本发明实施例提供的自动登录方法相对应,本发明实施例还提供了一种自动登录装置,参见图4,该装置包括:
加载单元401,用于接收到自动登录到指定账户的请求时,从预先保存的配置文件中获取所述指定账户的账户地址、登录密码及登录页面的统一资源定位符URL,根据所述URL加载所述登录页面;
分析单元402,用于针对所述登录页面对应的文本标记语言HTML文档中的登录表单,根据所述登录表单中各个元素的属性,查找出所述登录表单中包含的登录密码输入框以及账户地址输入框,并确定所述账户地址输入框中需填入的内容;
写入单元403,用于将账户地址输入框中需填入的内容写入到所述账户地址输入框中,并将所述登录密码写入到所述登录密码输入框中;
提交单元404,用于提交写入了账户地址内容以及登录密码后的登录表 单,完成对所述指定账户的自动登录。
具体实现时,分析单元402包括:
第一查找子单元,用于枚举所述登录表单中的所有元素,根据元素的类型属性,查找出所述登录密码输入框;
第二查找子单元,用于分析所述登录密码输入框的上一个元素,查找出所述账户地址输入框。
其中,当所述账户地址由用户名部分及域名部分组成时,所述第二查找子单元包括:
第一判断子单元,用于判断所述登录密码输入框的上一个元素是否为域名选择框;
第一确定子单元,用于如果是,并且所述域名选择框的上一个元素为文本输入框,则将所述域名选择框的上一个元素确定为所述账户地址输入框,并根据所述指定的账户地址选中匹配的域名;
第二判断子单元,用于如果否,判断所述登录密码输入框的上一个元素是否为文本输入框,如果是,则将所述登录密码输入框的上一个元素确定为所述账户地址输入框;否则,判断所述登录密码输入框的上一个元素是否为域名文本,如果是,并且所述域名文本的上一个元素为文本输入框,则所述域名文本的上一个元素确定为账户地址输入框。
相应的,分析单元402还可以包括:
第二确定子单元,用于如果所述登录密码输入框的上一个元素为域名选择框,或者所述登录密码的上一个元素为域名文本,则将所述账户地址的用户名部分确定为所述账户地址输入框中需填入的内容;
第三确定子单元,用于如果所述登录密码输入框的上一个元素为文本输入框,则将完整的账户地址确定为所述账户地址输入框中需填入的内容。
当然,在其他实现方式下,分析单元402也可以包括:
输入框查找子单元,用于查找出所述登录表单中包含的输入框,并将所有的输入框进行两两组合;
测试子单元,用于选择其中任一组合中的两个输入框分别作为账户地址输入框及登录密码输入框进行以下测试:提交写入了账户地址内容以及登录密码 后的登录表单,如果能够提交成功,则将该组合中的两个输入框分别确定为账户地址输入框及登录密码输入框;否则,选择其他组合中的两个输入框进行上述测试。
为了避免出现死循环的现象,该装置还可以包括:
跳转判断单元,用于在提交写入了邮件地址内容以及登录密码后的登录表单之前,判断所述登录页面是否发生过跳转,如果未发生过,则继续执行所述提交写入了账户地址内容以及登录密码后的登录表单的步骤。
具体实现时,提交单元404可以包括:
第三判断子单元,用于判断所述登录页面中是否存在提交按钮元素;
第一提交子单元,用于如果所述第三判断子单元的判断结果为存在,则通过调用对登录表单中提交按钮进行点击的事件进行提交;
第四判断子单元,用于如果所述第三判断子单元的判断结果为不存在,则判断所述登录表单中是否存在表单提交函数,如果存在,则通过调用所述表单提交函数进行提交,否则,通过调用所述登录表单中的表单提交方法进行提交。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实 现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明所提供的自动登录方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (4)

1.一种自动登录方法,其特征在于,包括:
接收到自动登录到指定账户的请求时,从预先保存的配置文件中获取所述指定账户的账户地址、登录密码及登录页面的统一资源定位符URL,根据所述URL加载所述登录页面;
针对所述登录页面对应的文本标记语言HTML文档中的登录表单,根据所述登录表单中各个元素的属性,查找出所述登录表单中包含的登录密码输入框以及账户地址输入框,并确定所述账户地址输入框中需填入的内容;其中所述查找出所述登录表单中包含的登录密码输入框及账户地址输入框包括:查找出所述登录表单中包含的输入框,并将所有的输入框进行两两组合;选择其中任一组合中的两个输入框分别作为账户地址输入框及登录密码输入框进行以下测试:提交写入了账户地址内容以及登录密码后的登录表单,如果能够提交成功,则将该组合中的两个输入框分别确定为账户地址输入框及登录密码输入框;否则,选择其他组合中的两个输入框进行上述测试;
将账户地址输入框中需填入的内容写入到所述账户地址输入框中,并将所述登录密码写入到所述登录密码输入框中;
提交写入了账户地址内容以及登录密码后的登录表单,包括:判断所述登录页面中是否存在提交按钮元素;如果存在,则通过调用对登录表单中提交按钮进行点击的事件进行提交;如果不存在,则判断所述登录表单中是否存在表单提交函数,如果存在,则通过调用所述表单提交函数进行提交,否则,通过调用所述登录表单中的表单提交方法进行提交;完成对所述指定账户的自动登录。
2.根据权利要求1所述的方法,其特征在于,所述提交写入了账户地址内容以及登录密码后的登录表单之前还包括:
判断所述登录页面是否发生过跳转,如果未发生过,则继续执行所述提交写入了账户地址内容以及登录密码后的登录表单的步骤。
3.一种自动登录装置,其特征在于,包括:
加载单元,用于接收到自动登录到指定账户的请求时,从预先保存的配置文件中获取所述指定账户的账户地址、登录密码及登录页面的统一资源定位符URL,根据所述URL加载所述登录页面;
分析单元,用于针对所述登录页面对应的文本标记语言HTML文档中的登录表单,根据所述登录表单中各个元素的属性,查找出所述登录表单中包含的登录密码输入框以及账户地址输入框,并确定所述账户地址输入框中需填入的内容;其中所述分析单元包括:输入框查找子单元,用于查找出所述登录表单中包含的输入框,并将所有的输入框进行两两组合;测试子单元,用于选择其中任一组合中的两个输入框分别作为账户地址输入框及登录密码输入框进行以下测试:提交写入了账户地址内容以及登录密码后的登录表单,如果能够提交成功,则将该组合中的两个输入框分别确定为账户地址输入框及登录密码输入框;否则,选择其他组合中的两个输入框进行上述测试;
写入单元,用于将账户地址输入框中需填入的内容写入到所述账户地址输入框中,并将所述登录密码写入到所述登录密码输入框中;
提交单元,用于提交写入了账户地址内容以及登录密码后的登录表单,完成对所述指定账户的自动登录;所述提交单元包括:第三判断子单元,用于判断所述登录页面中是否存在提交按钮元素;第一提交子单元,用于如果所述第三判断子单元的判断结果为存在,则通过调用对登录表单中提交按钮进行点击的事件进行提交;第四判断子单元,用于如果所述第三判断子单元的判断结果为不存在,则判断所述登录表单中是否存在表单提交函数,如果存在,则通过调用所述表单提交函数进行提交,否则,通过调用所述登录表单中的表单提交方法进行提交。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:
跳转判断单元,用于在提交写入了邮件地址内容以及登录密码后的登录表单之前,判断所述登录页面是否发生过跳转,如果未发生过,则继续执行所述提交写入了账户地址内容以及登录密码后的登录表单的步骤。
CN201310165222.4A 2011-11-21 2011-11-21 自动登录方法及装置 Expired - Fee Related CN103268331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310165222.4A CN103268331B (zh) 2011-11-21 2011-11-21 自动登录方法及装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310165222.4A CN103268331B (zh) 2011-11-21 2011-11-21 自动登录方法及装置
CN2011103719130A CN102495855B (zh) 2011-11-21 2011-11-21 自动登录方法及装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2011103719130A Division CN102495855B (zh) 2011-11-21 2011-11-21 自动登录方法及装置

Publications (2)

Publication Number Publication Date
CN103268331A CN103268331A (zh) 2013-08-28
CN103268331B true CN103268331B (zh) 2016-08-24

Family

ID=49011960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310165222.4A Expired - Fee Related CN103268331B (zh) 2011-11-21 2011-11-21 自动登录方法及装置

Country Status (1)

Country Link
CN (1) CN103268331B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634301B (zh) * 2013-11-14 2017-01-04 新浪网技术(中国)有限公司 客户端及其访问服务器中用户存储的私有数据的方法
CN104539613B (zh) * 2014-12-27 2019-03-05 北京奇虎科技有限公司 邮件账号的登录方法和邮件客户端
CN104836861B (zh) * 2015-05-20 2018-09-21 国网山东阳信县供电公司 一种网站登录系统及网站登录方法
CN105530331A (zh) * 2015-12-16 2016-04-27 小米科技有限责任公司 名片文件的创建方法、注册或登录网站的方法及装置
CN105956136B (zh) * 2016-05-11 2020-08-11 腾讯科技(深圳)有限公司 登录信息的获取方法和装置
CN107544735A (zh) * 2016-06-27 2018-01-05 阿里巴巴集团控股有限公司 表单提交的方法、装置及终端
CN107040535B (zh) * 2017-04-07 2020-07-10 网易(杭州)网络有限公司 移动应用渠道登录监控方法、装置、系统及存储介质
CN108268635B (zh) * 2018-01-17 2022-06-24 百度在线网络技术(北京)有限公司 用于获取数据的方法和装置
CN108173875B (zh) * 2018-01-30 2021-07-23 云深互联(北京)科技有限公司 页面登录方法及装置、电子设备、存储介质
CN108664461B (zh) * 2018-05-03 2023-08-22 鼎富智能科技有限公司 一种网页表单自动填写方法及装置
CN111596828B (zh) * 2020-05-14 2023-06-02 云账户技术(天津)有限公司 cookie同步方法、装置及计算机可读存储介质
CN111723358B (zh) * 2020-06-23 2023-12-26 中国工商银行股份有限公司 密码管理方法、密码管理装置、电子设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101008945A (zh) * 2006-01-23 2007-08-01 腾讯科技(深圳)有限公司 电子邮箱登录方法及其系统
CN101834909A (zh) * 2010-05-31 2010-09-15 迈普通信技术股份有限公司 一种自动登录硬件设备的方法及其系统
CN101872365A (zh) * 2010-07-02 2010-10-27 苏州阔地网络科技有限公司 一种在网页上实现的一键登录到其他网站的方法
CN102238213A (zh) * 2010-04-29 2011-11-09 腾讯科技(深圳)有限公司 登录互联网应用的方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8561162B2 (en) * 2008-02-28 2013-10-15 Red Hat, Inc. Systems and methods for unified login to multiple networked services

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101008945A (zh) * 2006-01-23 2007-08-01 腾讯科技(深圳)有限公司 电子邮箱登录方法及其系统
CN102238213A (zh) * 2010-04-29 2011-11-09 腾讯科技(深圳)有限公司 登录互联网应用的方法及系统
CN101834909A (zh) * 2010-05-31 2010-09-15 迈普通信技术股份有限公司 一种自动登录硬件设备的方法及其系统
CN101872365A (zh) * 2010-07-02 2010-10-27 苏州阔地网络科技有限公司 一种在网页上实现的一键登录到其他网站的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于BHO的淘宝账户自动登录系统研究与实现;徐研等;《软件导刊》;20110430;第10卷(第4期);123-125 *

Also Published As

Publication number Publication date
CN103268331A (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
CN103268331B (zh) 自动登录方法及装置
CN102495855B (zh) 自动登录方法及装置
US8095875B2 (en) Method and apparatus for consolidating network information
JP5492841B2 (ja) 分散されたウェブ注釈
US9372592B1 (en) Presenting information related to content items
US20220121723A1 (en) Distributed systems and methods for facilitating website remediation and promoting assistive technologies and detecting compliance issues
US20100313252A1 (en) System, method and apparatus for creating and using a virtual layer within a web browsing environment
US10074104B2 (en) Content dynamically targetted according to context
CN101211364A (zh) 用于万维网页中暴露的资源的公共书签的方法和系统
US10482150B1 (en) Electronic forms interaction framework for a consistent user experience
Takagi et al. Collaborative web accessibility improvement: challenges and possibilities
Parker et al. Designing with Progressive Enhancement: Building the web that works for everyone
WO2001039031A2 (en) Method for automatic form filling
CN102187360B (zh) 用于建立多在线法律研究应用的系统和方法
CN102981853B (zh) 一种通过网页的文本输入框提交长文本的方法和装置
CN103617043B (zh) 一种带图片网页数据上传的方法和系统
CN102981852B (zh) 长文本提交方法和装置
Huynh et al. Learning by doing: How to develop a cross-platform web app
Groenewegen et al. The answer to all our problems? Trialling a library portal
Drisgill et al. Sharepoint 2013 branding and user interface design
Lundahl Usability of mobile applications for near field communication
Mallya Generalising Traditional Wiki Systems to New Media Page Formats
JP2017040988A (ja) 情報処理装置及び情報処理プログラム
Baranwal Summer Fellowship Report
Furumoto et al. myLife

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220727

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160824