最近整理一个爬虫系列方面的文章,不管大家的基础如何,我从头开始整一个爬虫系列方面的文章,让大家循序渐进的学习爬虫,小白也没有学习障碍.
现在开始要学习使用Python进行动态爬虫了,而Selenium是来进行动态爬虫的一种工具
众所周知很多网站的内容需要登录后能去获取他们的内容,这个时候我们就需要先登录进去,所以就有了这篇模拟登录文章
模拟登录我们要使用到 selenium
自动化测试工具,这个工具需要另行安装,如果你是使用 pycharm
,你可以直接去setting中点击一键安装selenium
,
然后还要去下载浏览器驱动,这里我推荐使用Firefox,因为相对Chrome来说,它是没有版本限制的,不容易出错. Firefox 直接百度就能下载,有一个推荐下载的, Firefox的驱动也可以百度一下 Geckodriver
下载后安装,最后要记得设置环境变量,不然会带来一系列麻烦与错误的,所以这里切记一定要设置。
webdriver.Firefox() 这是获取Firefox浏览器的驱动,
元素.click()这是模拟网页的某个控件的点击事件
元素.clear() 清除元素的值
元素.send_keys(username) 给元素赋值
元素定位
再说一下元素的定位方法,元素的定位方法有很多种,下面我列举一下,这些方法看单词就能明白意思.
窗口切换
弹窗处理 alert = driver.switch_to_alert() alert.dismiss
# coding=utf-8
import os
from selenium import webdriver
#知乎的用户名和密码
username = "XXXXXXX"
password = "XXX"
#,获取浏览器的驱动,这里需要提前给firefox指定环境变量,如果没有指定则需要指定路径
driver = webdriver.Firefox()
#窗口最大化
driver.maximize_window()
#打开登录页面
driver.get("https://www.zhihu.com/signup?next=%2F")
#切换到登录页面
driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[2]/span').click()
#给输入框赋值
driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/div[1]/div[2]/div[1]/input').send_keys(username)
driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/div[2]/div/div[1]/input').send_keys(password)
#模拟点击事件
driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/button').click()
print driver.title
os.system("pause")
说明:这种模拟登录还不怎么完全,因为这没有涉及到验证码的操作,如果设计到了登录需要输入验证码,就更复杂了。后面我会进一步讲解.
【完】
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有