爬虫学习(十八)——selenium解决javascript渲染
selenium 是一个用于Web应用程序测试的工具。
Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。
这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。
测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成
selenium主要用在爬虫上,用来解决javascript渲染网页数据的问题
selenium用于爬虫的实际用法
selenium的实际用法参照底下网址
https://blog.csdn.net/qq_29186489/article/details/78661008
selenium官方文档如下:
https://selenium-python-zh.readthedocs.io/en/latest/waits.html
selenium模拟登陆
import time
from selenium import webdriver
url = "https://www.douban.com/"
# 创建模拟浏览器对象的driver
driver = webdriver.Chrome()
# 添加隐式等待
driver.implicitly_wait(5)
# 请求豆瓣登录页面
driver.get(url)
# 找到登录界面
# 经过观察源码发现登录界面做了伪装,通过跳转页面,找到登录界面,在进行登录操作
frame =driver.find_element_by_xpath("//div[@class='login']/iframe")
# 跳转登录界面
driver.switch_to.frame(frame)
driver.find_element_by_xpath("//ul[@class='tab-start']/li[2]").click()
time.sleep(2)
driver.find_element_by_name("username").send_keys("159049*****")
time.sleep(2)
driver.find_element_by_name("password").send_keys("**********")
time.sleep(1)
driver.find_element_by_xpath("//div[@class='account-form-field-submit ']/a").click()
time.sleep(10)
driver.close()