最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python selenium是什么

    正文概述    2020-04-06   244

    python selenium是什么

    一、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()

    python学习网,免费的在线学习python平台,欢迎关注!


    起源地下载网 » python selenium是什么

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元