北京SEO百度排名_网络推广_网站建设_专业网站优化【启点网络】

网站制作SEO优化推广10年,客户1200+

python爬虫-selenium模块_元素交互操作

文章分类: SEO方案资讯 文章来源: 北京启点网络 文章作者: 北京SEO顾问 时间: 2018-06-09 16:46:40浏览热度:


[导读]:

阅读目录 一 介绍 二 安装 三 基本使用 四 选择器 五 等待元素被加载 六 元素

一 介绍

复制代码
复制代码
selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题

selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器

from selenium import webdriver
browser=webdriver.Chrome()
browser=webdriver.Firefox()
browser=webdriver.PhantomJS()
browser=webdriver.Safari()
browser=webdriver.Edge() 
复制代码
复制代码

官网:http://selenium-python.readthedocs.io

二 安装

 selenium+chromedriver
 selenium+phantomjs

三 基本使用

复制代码
复制代码
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys #键盘按键操作
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait #等待页面加载某些元素

browser=webdriver.Chrome()
try:
    browser.get('https://www.baidu.com')

    input_tag=browser.find_element_by_id('kw')
    input_tag.send_keys('美女') #python2中输入中文错误,字符串前加个u
    input_tag.send_keys(Keys.ENTER) #输入回车

    wait=WebDriverWait(browser,10)
    wait.until(EC.presence_of_element_located((By.ID,'content_left'))) #等到id为content_left的元素加载完毕,最多等10秒

    print(browser.page_source)
    print(browser.current_url)
    print(browser.get_cookies())

finally:
    browser.close()
复制代码
复制代码

四 选择器

一 基本用法

 View Code

二 xpath

 View Code

三 获取标签属性

 获取标签属性

五 等待元素被加载

#1、selenium只是模拟浏览器的行为,而浏览器解析页面是需要时间的(执行css,js),一些元素可能需要过一段时间才能加载出来,为了保证能查找到元素,必须等待

#2、等待的方式分两种:
隐式等待:在browser.get('xxx')前就设置,针对所有元素有效
显式等待:在browser.get('xxx')之后设置,只针对某个元素有效
 隐式等待
 显式等待

六 元素交互操作

 点击,清空
 Action Chains
 在交互动作比较难实现的时候可以自己写JS(万能方法)
 补充:frame的切换

七 其他

 模拟浏览器的前进后退
 cookies
 选项卡管理
 异常处理

八 项目练习

 自动登录163邮箱并发送邮件
 爬取京东商城商品信息
作业:
    爬取亚马逊iphone手机的商品信息
    爬取天猫python书籍的商品信息
    爬取京东小米手机的商品信息

标题:python爬虫-selenium模块_元素交互操作
地址:http://www.seozoe.com/news/js/549.html _北京SEO
声明:非特殊说明,本文为本站原创(翻译)文章,转载请注明:本文转自:北京SEO启点网络_启点


请您留下您的小脚印:

服务支持

我们珍惜您每一次在线询盘,有问必答,用专业的态度,贴心的服务。

让您真正感受到我们的与众不同!

合作流程

合作流程

网站制作流程从提出需求到网站制作报价,再到网页制作,每一步都是规范和专业的。

常见问题

常见问题

提供什么是网站定制?你们的报价如何?等网站建设常见问题。

常见问题

售后保障

网站制作不难,难的是一如既往的热情服务及技术支持。我们知道:做网站就是做服务,就是做售后。