0°

Python爬虫:学习Selenium并使用Selenium模拟登录知乎

内容预览:
  • 原文始发于微信公众号(Python绿色通道):Python爬虫:学习Selenium并...~
  • webdriver.Firefox() 这是获取Firefox浏览器的驱动, 元素.click()这是...~
  • 最后 :大家也可以加我个人微信:hg_liuzl,  注明:Python学习,拉你...~

原文始发于微信公众号(Python绿色通道):Python爬虫:学习Selenium并使用Selenium模拟登录知乎

现在开始要学习使用Python进行动态爬虫了,而Selenium是来进行动态爬虫的一种工具


介绍Selenium


众所周知很多网站的内容需要登录后能去获取他们的内容,这个时候我们就需要先登录进去,所以就有了这篇模拟登录文章

模拟登录我们要使用到 selenium 自动化测试工具,这个工具需要另行安装,如果你是使用 pycharm,你可以直接去setting中点击一键安装selenium

然后还要去下载浏览器驱动,这里我推荐使用Firefox,因为相对Chrome来说,它是没有版本限制的,不容易出错. Firefox 直接百度就能下载,有一个推荐下载的, Firefox的驱动也可以百度一下 Geckodriver 下载后安装,最后要记得设置环境变量,不然会带来一系列麻烦与错误的,所以这里切记一定要设置。


webdriver.Firefox() 这是获取Firefox浏览器的驱动,


元素.click()这是模拟网页的某个控件的点击事件


元素.clear() 清除元素的值


元素.send_keys(username) 给元素赋值


元素定位


再说一下元素的定位方法,元素的定位方法有很多种,下面我列举一下,这些方法看单词就能明白意思.

  1. find_element_by_id

  2. find_element_by_name

  3. find_element_by_xpath

  4. find_element_by_link_text

  5. find_element_by_partial_link_text 通过部分超连接文本定位

  6. find_element_by_tag_name

  7. find_element_by_class_name

  8. find_element_by_css_selector

窗口切换

  • 切换window
    driver.switch_to_window(‘windowname’)

  • 切换frame
    driver

弹窗处理
alert = driver.switch_to_alert()
alert.dismiss


使用Selenium来模拟登录知乎


Python爬虫:学习Selenium并使用Selenium模拟登录知乎

# 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")

Python爬虫:学习Selenium并使用Selenium模拟登录知乎


说明:这种模拟登录还不怎么完全,因为这没有涉及到验证码的操作,如果设计到了登录需要输入验证码,就更复杂了。后面我会进一步讲解.



推荐阅读:


Python爬虫:把爬取到的数据插入到execl中

Python爬虫:现学现用xpath爬取豆瓣音乐

Python爬虫系列:用邮件来通知爬虫异常状况

Python爬虫学前普及


的Python之旅

Python爬虫:学习Selenium并使用Selenium模拟登录知乎

长按,识别二维码,加关注



目前100000+人已关注加入我们

Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎

Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎 Python爬虫:学习Selenium并使用Selenium模拟登录知乎



关注公众号即可领取5T学习资料: 数据结构, 小程序, 前端, PHP, Java ,Android, Python, 大数据, 人工智能等!


公众号后台回复 红包,获取福利。


最后 :大家也可以加我个人微信:hg_liuzl,  注明:Python学习,拉你进群学习,一个纯粹的Python学习环境


和大佬一起学习网络安全知识

以上就是:Python爬虫:学习Selenium并使用Selenium模拟登录知乎 的全部内容

本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢^^
Email:[email protected]


0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论