python爬虫模拟登陆腾讯课堂

本文使用Python解决腾讯课堂网页登陆问题。需安装谷歌浏览器,先导入requests和selenium库,根据链接进入页面获取登陆及登陆方式的xpath并点击。过程中会遇到定位不到xpath的问题,需先找到元素所在frame,若仍失败,先回到最外层框架再进入目标框架定位,最后点击登陆按钮。

根据腾讯课堂网页登陆问题进行解说(需要安装谷歌浏览器):

1、导入库

import requests

from selenium import webdriver

2、根据腾讯课堂链接,进入页面,获取页面中登陆的xpath,并进行点击操作。

获取xpath的方法是:在如上所示箭头所指登陆位置右击操作,点击检查,获取以下页面。在登陆所在标签处右击进行复制xpath。

 

3、进入登陆页面之后获取登陆方式,本次选择使用qq进行登陆,获取qq登陆的xpath并进行点击操作。

driver.find_element_by_xpath('/html/body/div[4]/div/div[2]/div[2]/a[1]').click()

4、点击使用账号密码登陆。在该登陆过程中出现以下错误。

  主要原因是无法找到我们定位的xpath,需要先找到定位元素所处的frame,并从frame中寻找该元素。

 

driver.switch_to_frame("login_frame_qq")//引号中添加frame标签中的name或id值driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()

5、获取到输入账号密码以及登陆位置的xpath。当运行时再次出现定位不到xpath的情况,使用第四步的方法依旧没能成功,提示所在框架不对,估计是跟第4步的frame标签的name相同的原因吧。最后的解决方法是:先回到最外层框架,之后进入要定位元素的框架,最后对账号密码进行定位。

 

6、点击登陆按钮,至此就已经进入网页版的腾讯课堂了。

driver.find_element_by_xpath('//*[@id="login_button"]').click()

完整代码如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值