首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

电脑会自己上网了?小姐姐教你用selenium模拟登陆晋江网账号(python爬虫必备技能)

hello大家好,我是你们的可爱丸,我们又见面啦。上个教程我和大家分享了selenium的安装和简单使用的方法,大家都学会了吗?本次教程我将在上个教程的基础上进行更为深入的讲解,那就是:通过selenium模拟登陆晋江文学城网站,那话不多说,我们现在就开始本期教程的学习吧。

效果预览:

01

登陆流程分析

这是晋江网的首页:

   首先我们来分析一下该网站的账号登陆流程,从而确定我们代码编写的思路。

从以上图片和动图我们可以看到,想要登陆晋江网的账号,首先要选择右上角的“登入”按钮,接着在弹出的登陆框中,选择左上角的“账号登入”方式,然后在对应的位置输入账号和密码,并勾选同意用户协议,最后点击“登入”按钮,这样我们就能成功登陆晋江网的账号啦。

02

关键代码编写

网站登陆流程分析好之后,接下来我们就要编写代码实现模拟登陆啦。为了让大家能够更加透彻的理解每一行代码的由来,我将针对每一个关键步骤进行讲解。

   要想查看网页源代码,我们可以通过点击鼠标右键,选择“检查”,然后即可查看对应位置的代码。如果想要定位到某一个位置,可以点击源代码窗口左上角的箭头,再点击对应位置即可。

     实现思路:通过find_element_by_id方法来找到id名为“jj_login”的登入按钮,成功定位到“登入”按钮的位置,并通过click()方法点击改按钮。

具体代码语句:

2、选择“账号登入”方式

 实现思路:通过find_element_by_id方法来找到id名为“loginbyaccount”的账号登入方式,成功定位到“账号登入”的位置,并通过click()方法点击改按钮。

具体代码语句:

3、找到账号密码的输入位置,并输入账号和密码

    实现思路:通过find_element_by_name方法来找到name名为“loginname”的账号输入框,通过send_keys()方法传入账号名,通过find_element_by_name方法来找到name名为“loginpassword”的密码输入框,通过send_keys()方法传入密码。

    具体代码语句:

4、勾选“已阅读并同意用户协议···”

   实现思路:通过find_element_by_id方法来找到id名为“login_registerRule”的用户协议勾选框,通过click()方法勾选该协议。

    具体代码语句:

5、点击登入按钮

   实现思路:右键选择Copy,再选择Copy xPath,复制系统自动生成的xpath路径,然后粘贴到find_element_by_xpath()方法中。

具体代码语句:

03

完整代码及效果

完整代码:

代码运行效果:

细心的朋友可能已经发现了,在登陆账号的最后一步时,我们仍需手动输入验证码,这是因为小姐姐在测试代码时为了保存动图,运行代码的次数过多造成的,如果大家刚登陆的次数不多是不会出现需要输入验证码的情况的哦。

那么问题来了,如果遇到登陆时需要输入验证码的情况,现在的验证码又五花八门的,我们要怎么解决这一问题呢?别急,如果大家能给我点赞、收藏、评论的话,可爱丸小姐姐下期教程就教你怎么解决验证码登陆的问题,哈哈。

点分享

点收藏

点点赞

点在看

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210114A056Z700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券