爬虫-selenium

爬虫-selenium

特点

基于浏览器自动化的模块

可以模拟手动操作

1.便捷的获取网站中动态加载的数据

2.便捷的实现模拟登陆

3.可以获取js动态加载的数据

驱动下载和版本关系

http://chromedriver.storage.googleapis.com/index.html

http://blog.csdn.net/huilan_same/article/details/51896672

简单案例

from selenium import webdriver
from lxml import etree
#实例化一个浏览器对象,需要传入驱动
chrome=webdriver.Chrome(executable_path="chromedriver")

url='https://www.ixigua.com/i6701605562779435533/'
url2='http://125.35.6.84:81/xk'

#浏览器发起请求
chrome.get(url=url2)

#浏览器获取界面源码数据
page_text=chrome.page_source
print(page_text)
tree=etree.HTML(page_text)
c_name=tree.xpath("//ul[@id='gzlist']/li/dl/@title")
print(c_name)

#关闭浏览器
chrome.quit()

常用的方法

1.发起请求:get(url)

2.标签定位:find系列的方法

3.标签交互(想输入框添值):send_keys()

4.执行js程序:execute_script("jscode")

5.请进,返回:back()/forward()

6.关闭浏览器:quit()

from selenium import webdriver
import time

chrome=webdriver.Chrome(executable_path="chromedriver")

url="https://www.jd.com"
url2="https://www.baidu.com"

#发起请求
chrome.get(url)

#找到搜索框
input=chrome.find_element_by_id("key")

#将想要查询的内容填入搜索框内
input.send_keys("显卡")

#找到搜索按钮
button=chrome.find_element_by_xpath('//*[@id="search"]/div/div[2]/button')

#点击搜索
button.click()

time.sleep(2)
#跳转到百度
chrome.get(url2)

time.sleep(2)

#返回
chrome.back()

time.sleep(2)
#前进
chrome.forward()

chrome.back()

#向下滚动一个浏览器界面的长度
for i in range(3):
    chrome.execute_script('window.scrollTo(0,document.body.scrollHeight)')
    time.sleep(2)

time.sleep(3)

#浏览器退出
chrome.quit()

猜你喜欢

转载自www.cnblogs.com/zx125/p/11487242.html