ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

selenium指的是什么?包含哪些组件

2022-01-18 16:03:22  阅读:170  来源: 互联网

标签:webdriver 浏览器 哪些 Selenium selenium 组件 import requests


一、selenium简介

1、什么是selenium

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

2、selenium的用途

(1)selenium可以驱动浏览器自动执行自定义好的逻辑代码,也就是可以通过代码完全模拟成人类使用浏览器自动访问目标站点并操作,那我们也可以拿它来做爬虫。

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

3、selenium是优缺点

(1)优点

优点就是可以帮我们避开一系列复杂的通信流程,例如在我们之前学习的requests模块,那么requests模块在模拟请求的时候是不是需要把素有的通信流程都分析完成后才能通过请求,然后返回响应。假如目标站点有一系列复杂的通信流程,例如的登录时的滑动验证等...那么你使用requests模块的时候是不是就特别麻烦了。不过你也不需要担心,因为网站的反爬策略越高,那么用户的体验效果就越差,所以网站都需要在用户的淫威之下降低安全策略。

再看一点requests请求库能不能执行js?是不是不能呀!那么如果你的网站需要发送ajax请求,异步获取数据渲染到页面上,是不是就需要使用js发送请求了。那浏览器的特点是什么?是不是可以直接访问目标站点,然后获取对方的数据,从而渲染到页面上。那这些就是使用selenium的好处!

(2)缺点

使用selenium本质上是驱动浏览器对目标站点发送请求,那浏览器在访问目标站点的时候,是不是都需要把静态资源都加载完毕。html、css、js这些文件是不是都要等待它加载完成。是不是速度特别慢。那用它的坏处就是效率极低!所以我们一般用它来做登录验证。

二、selenium的安装

1、下载selenium模块:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium

或者在pycharm中下载

2、安装浏览器驱动

(1)Google浏览器驱动:https://sites.google.com/a/chromium.org/chromedriver/downloads

注:把下载好的chromedriver.exe放到python安装路径的scripts目录中即可。

(2)firefox浏览器驱动:

selenium3默认支持的webdriver是Firfox,而Firefox需要安装geckodriver

下载链接:https://github.com/mozilla/geckodriver/releases

三、selenium的基本使用

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  # 和下面WebDriverWait一起用的
from selenium.webdriver.support.wait import WebDriverWait  # 等待页面加载某些元素
import time
driver=webdriver.Chrome()
try:
    wait=WebDriverWait(driver,10)
    #1、访问百度
    driver.get('https://www.baidu.com/')
    #2、查找输入框
    #     input_tag = wait.until(
    #         # 调用EC的presence_of_element_located()
    #         EC.presence_of_element_located(
    #             # 此处可以写一个元组
    #             # 参数1: 查找属性的方式
    #             # 参数2: 属性的名字
    #             (By.ID, "kw")
    #         )
    #     )
    input_tag=wait.until(EC.presence_of_element_located((By.ID,"kw")))
    #3、在搜索框在输入要搜索的内容
    input_tag.send_keys('秦时明月')
    # 4、按键盘回车键
    input_tag.send_keys(Keys.ENTER)
    time.sleep(3)
finally:
    driver.close()

Selenium 包含 3 大组件,分别是:Selenium IDE、Selenium WebDriver、Selenium Grid

其中,Selenium IDE 负责录制、回放脚本,模拟用户对页面的真实操作

Selenium WebDriver 提供 API 来操作浏览器,比如:Chrome、FireFox、IE 等

Selenium Grid 用于分布式自动化测试,通过控制多台机器、多个浏览器并行执行测试用例,在测试用例比较多的情况下比较实用。
 

标签:webdriver,浏览器,哪些,Selenium,selenium,组件,import,requests
来源: https://blog.csdn.net/fish_study_csdn/article/details/122561882

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有