selenium模拟浏览器爬人民网微博
来源:互联网 发布:navicat linux 安装 编辑:程序博客网 时间:2024/05/29 07:37
selenium的使用:
利用浏览器打开网页:
driver = webdriver.PhantomJS()driver.get('http://t.people.com.cn/indexV3.action')
selenium可以模拟浏览器中的任何操作
可以模拟登陆网页:
elem_user = driver.find_element_by_xpath('//*[@id="userName"]')elem_user.send_keys('用户名')elem_user = driver.find_element_by_xpath('//*[@id="password_text"]')elem_user.send_keys('密码')elem_sub = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/div[2]/form/div[4]/input')elem_sub.click()elem_sub = driver.find_element_by_xpath('/html/body/div[2]/div/div[3]/a[2]')elem_sub.click()
可以捕捉到特定的块
a = driver.find_elements_by_class_name('list_item')
可以模拟页面的滚动
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")#页面滚动到最低部
爬人民网微博的整体代码
# -*- coding: UTF-8 -*-from selenium import webdriverimport timedriver = webdriver.PhantomJS()driver.get('http://t.people.com.cn/indexV3.action')elem_user = driver.find_element_by_xpath('//*[@id="userName"]')elem_user.send_keys('')elem_user = driver.find_element_by_xpath('//*[@id="password_text"]')elem_user.send_keys('')elem_sub = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/div[2]/form/div[4]/input')elem_sub.click()elem_sub = driver.find_element_by_xpath('/html/body/div[2]/div/div[3]/a[2]')elem_sub.click()data = driver.page_sourceprint datafor k in range(1,3): driver.maximize_window() a = driver.find_elements_by_class_name('list_item') l=[] for i in a: if i not in l: l.append(i) time.sleep(2) driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")for m in l: print m.textdriver.close()
元素选取
单个元素选取
- find_element_by_id
- find_element_by_name
- find_element_by_xpath
- find_element_by_link_text
- find_element_by_partial_link_text
- find_element_by_tag_name
- find_element_by_class_name
- find_element_by_css_selector
多个元素选取
- find_elements_by_name
- find_elements_by_xpath
- find_elements_by_link_text
- find_elements_by_partial_link_text
- find_elements_by_tag_name
- find_elements_by_class_name
- find_elements_by_css_selector
另外还可以利用 By 类来确定哪种选择方式
fromselenium.webdriver.common.byimportBy
driver.find_element(By.XPATH,'//button[text()="Some text"]')
driver.find_elements(By.XPATH,'//button')
阅读全文
0 0
- selenium模拟浏览器爬人民网微博
- Selenium 模拟浏览器
- selenium模拟fireFox浏览器,爬取网页信息
- Selenium模拟浏览器下载页面html源码
- Selenium总结:模拟浏览器动态加载页面
- python+chrome+Selenium模拟手机浏览器
- python之selenium模拟登录微博
- 利用有界面游览器爬取人民网微博(火狐)
- 使用selenium模块模拟浏览器爬去网页,并进行点击定位内容笔记
- Python利用selenium模拟浏览器抓取异步加载等难爬页面信息
- 使用python利器selenium工具模拟浏览器运行并爬取淘宝商品信息
- webmagic+selenium模拟浏览器启动(动态网页爬取方法之一的第一步)
- python 针对selenium+phontomjs等模拟浏览器爬虫的反爬技术点
- 使用Selenium模拟浏览器抓取淘宝商品美食信息
- Python 爬虫之 selenium 爬虫,模拟浏览器爬取天猫信息
- python爬虫——基于selenium用火狐模拟登陆爬搜索关键词的微博
- selenium-浏览器
- 模拟浏览器自动化测试工具Selenium之五Centos系统命令行下部署selenium环境试验
- 队列(作业四)
- C#webApi
- STL--vector容器用法
- 注释转换
- X210v3S的BSP构建之uboot移植(一)
- selenium模拟浏览器爬人民网微博
- 指针那些事(算术运算、和数组的关系)
- Best Time to Buy and Sell Stock
- unity shader:非真实感渲染
- java 十进制转二进制、八进制、十六进制代码复用
- Java中servlet的实现过程
- ios 视频录制
- c# -- mysql中的读取数据的几个方法
- [Javascript 高级程序设计]学习心得记录9 js面向对象