文章目录

  • Selenium使用步骤解析
    • 无关主题说明
    • 正文说明
    • Selenium使用分析步骤

Selenium使用步骤解析

无关主题说明

对于一个看其他东西看不进去的时候,最好的办法就是看一些自己感觉能看的懂,能看得进去并且自己喜欢看的一些东西,这样你就会有一种停不下来的节奏。所以下午到晚上中这段时间就有了这篇博文的出现。

正文说明

Selenium是python的一个库,它是一个自动化工具,利用Selenium可以驱动浏览器执行特定的动作。比如点击,返回,下拉等操作。同时还能获取到要访问的页面的源代码,在爬虫过程中对于一些js动态渲染的页面来说,使用Selenium方式来抓取是非常好的选择。

Selenium使用分析步骤

说明:
        以下是博主在学习Selenium库时的一个分析步骤,也是本文的核心所在,文中从开始获取selenium包,配置ChromeDriver驱动到最后的异常算是对于Selenium一些常用的一个分析,也是对于使用的Selenium的一个步骤的简单总结。
        有些地方博主只是写出了重点,提示语,由于时间问题并没有深究,感兴趣的同学可以百度各种相关知识点,这是只是博主对于自己的总结归纳方便以后查看的一个小笔记而已!!!

selenium的用法
一:获取源码1:安装selenium包2:配置ChromeDriver驱动注:a:https://www.portablesoft.org/google-chrome-legacy-versions/ ----谷歌浏览器所以的版本b:http://chromedriver.storage.googleapis.com/index.html  ----------谷歌浏览器各个版本对应的驱动c:C:\Users\jiajikang\AppData\Local\Google\Chrome\Application  -----将解压的驱动放置在此处,然后配置到环境变量之中d: 然后将驱动复制到python.exe同目录下3:声明浏览器对象browser = webdriver.Chrome();4:然后就是调用浏览器对象5:获取链接6:得到网页源码:page_source
二:查找节点1:单个节点from selenium.webdriver.common.by import Byinput_first = browser.find_element(By.ID,'q')# 获取单个节点2:多个节点如果在我们查找的节点在页面中只有一个,可以使用find_element()方法,但是页面中有多个节点,find_elemend()只能查找到第一个所以就要使用:find_elements()input_second = browser.find_elements_by_css_selector('.service-bd li')# 获取多个节点find_elements_by_idfind_elements_by_namefind_elements_by_xpathfind_elements_by_link_textfind_elements_by_partial_link_textfind_elements_by_tag_namefind_elements_by_class_namefind_elements_by_css_selectorinput_second = browser.find_elements(B_CSS_SELECTOR,'.service-bd li')# 获取多个节点三:节点交互简单就是:使浏览器模拟执行一些动作1: 输入文字: send_keys()2:  清空文字:clear()3:  点击按钮: click()input_first = browser.find_element(By.ID,'q')# 获取单个节点# input_second = browser.find_elements_by_css_selector('.service-bd li')# 获取多个节点# 第一次输入input_first.send_keys('iphone')time.sleep(1)input_first.clear()# 第二次输入input_first.send_keys('ipad')button = browser.find_elements_by_class_name('btn-search')button.click()四:动作链and执行js1: drag_and_drop()perform()2:execute_script()五:获取节点信息(解析)1:获取属性from selenium import webdriver # 驱动from selenium.webdriver import ActionChainsbrowser = webdriver.Chrome()# 谷歌浏览器url = 'https://www.zhihu.com/explore'browser.get(url)logo = browser.find_element_by_id('zh-top-link-logo')print(logo)print(logo.get_attribute('class'))# 获取属性名2:获取文本browser = webdriver.Chrome()# 谷歌浏览器url = 'https://www.zhihu.com/explore'browser.get(url)input = browser.find_element_by_class_name('zu-top-add-question')print(input.text)3:获取id,位置,标签名和大小browser = webdriver.Chrome()# 谷歌浏览器url = 'https://www.zhihu.com/explore'browser.get(url)input = browser.find_element_by_class_name('zu-top-add-question')print(input.id)print(input.location)print(input.tag_name)print(input.size)六:切换Frameswitch_to.frame()七:延时等待1: 隐式等待browser = webdriver.Chrome()# 谷歌浏览器browser.implicitly_wait(10)2: 显示等待from selenium.webdriver.support.ui import WebDriverWaitwait = WebDriverWait(browser,10)八:前进和后退back(),forward()import timefrom selenium import webdriver # 驱动borwser = webdriver.Chrome()borwser.get('https://www.baidu.com/')borwser.get('https://www.taobao.com/')borwser.get('https://www.python.org/')borwser.back()time.sleep(1)borwser.forward()borwser.close()九:异常处理try...exceptfrom selenium import webdriverfrom selenium.common.exceptions import TimeoutException,NoSuchElementExceptionbrowser = webdriver.Chrome()try:browser.get('https://www.baidu.com')except TimeoutException:print("超时")try:browser.find_element_by_id('hello')except NoSuchElementException:print("没有这样的元素")finally:browser.close()

【python+Selenium】Selenium使用步骤解析相关推荐

  1. python+pycharm+selenium自动化测试环境搭建步骤

    python+pycharm+selenium自动化测试环境搭建步骤 原文链接:https://blog.csdn.net/weixin_51429941/article/details/116850 ...

  2. [python爬虫] Selenium定向爬取海量精美图片及搜索引擎杂谈

    我自认为这是自己写过博客中一篇比较优秀的文章,同时也是在深夜凌晨2点满怀着激情和愉悦之心完成的.首先通过这篇文章,你能学到以下几点:         1.可以了解Python简单爬取图片的一些思路和方 ...

  3. python selenium脚本_怎样开始写第一个基于python的selenium脚本

    1.下载并安装python(http://www.python.org/geti/). 2.安装selenium(http://pypi.python.org/pypi/selenium)下载并解压缩 ...

  4. Python之selenium:selenium库的简介、安装、使用方法之详细攻略

    Python之selenium:selenium库的简介.安装.使用方法之详细攻略 目录 selenium库的简介 1.Selenium需要一个驱动程序来与所选的浏览器交互 selenium库的安装 ...

  5. [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论

    前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...

  6. python网络爬虫系列教程——Python+PhantomJS +Selenium组合应用

    全栈工程师开发手册 (作者:栾鹏) python教程全解 Selenium 是什么?一句话,自动化测试工具.它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器. 理 ...

  7. python爬虫selenium和bs4_python爬虫――selenium+bs4爬取选股宝‘利好‘or’利空'股票信息...

    一.前言.(1)我个人比较喜欢先看结果,再看内容,so,结果如图: (2)信息抓取自选股宝https://xuangubao.cn/(我这里设定抓取加载20页,下面只列举几个): (3)本次主要应用到 ...

  8. Python爬虫-selenium爬取网易云歌单

    文章目录 (一)工欲善其事必先利其器-安装工具 Selenium 浏览器 (二)实战 (一)工欲善其事必先利其器-安装工具 Selenium Selenium是一个强大的网络数据采集工具,其最初是为网 ...

  9. Python爬虫——selenium爬取网易云评论并做词云

    大家好!我是霖hero 到点了上号网易云,很多人喜欢到夜深人静的时候,在网易云听音乐发表评论,正所谓:自古评论出人才,千古绝句随口来,奈何本人没文化,一句卧槽行天下!评论区集结各路大神,今天我们来爬取 ...

最新文章

  1. 服务器用户没有读取权限,Windows找不到文件或没有读取权限怎么办
  2. Error querying database.Cause:java.sql.SQLSyntaxErrorException:ORA-00911:invalid character
  3. 语言 分组计算hr_干货 | HR不得不知的面试技巧
  4. 前端学习(1533):angular简介
  5. sql replace 双引号变单引号_sql-汇总、排序以及分析思路
  6. C# 导入excel数据,解决关闭excel后不能释放资源的问题
  7. Linux操作Oracle(17)——linux oracle启动时 :各种报错 解决方案(2020.07.30更新...)
  8. vnc改ip_怎么用VNC远程软件,怎么配制IP地址。?最好有教程
  9. 删除下拉框只找23火星软件_下拉怎么做首选23火星软件
  10. 怪物刷新时间计时_《冒险岛2》游戏中查找怪物刷新时间
  11. trymyapps下载_Incentivized Application Starts Up-Trymyapps
  12. 数据结构基础知识(一)
  13. c语言中puts的作用,c语言中puts的用法
  14. 博客专家3月原创奖励
  15. Apache Dubbo(概念篇)
  16. OpenHarmony轻量系统开发【11】移植MQTT
  17. 操作系统-消费者生产者代码C++Windows实现
  18. 吉大20春学期C语言程序设计作业二,c语言程序设计 教学课件 ppt 作者 吉大17秋学期《C语言程序设计》作业一...
  19. C++训练 : 神奇的fans
  20. 使用PopupContainerEdit和PopupContainerControl制作下拉菜单树小记

热门文章

  1. 高德地图加载kml文件
  2. html导航栏字体颜色怎么换,在WordPress的默认主题TwentyTen中修改导航条的颜色
  3. 【ELAMN预测】基于灰狼算法优化ELMAN神经网络实现数据回归预测matlab代码
  4. 基于嵌入式平台下的GIS/GPS定位系统设计 之 设计方案选择
  5. Mac中文字体显示异常修复
  6. 网站更换域名、改版对网站有哪些影响,如何补救?
  7. 从头学前端-CSS基础04
  8. 互联网摸鱼日报(2022-12-06)
  9. 国标GB28181协议和onvif协议都有什么用?
  10. ubuntu20.04 实测 机械式激光雷达与相机联合标定