zoukankan      html  css  js  c++  java
  • selenium的简单使用

    selenium简单学习

    1. 安装与介绍

      • selenium是一个自动化测试的工具,对于爬虫来说,主要使用selenium WebDriver,可以在本地或者远程计算机上驱动浏览器

      • 使用pip install selenium或者使用源码包进行安装

      • 首先下载浏览器驱动并配置环境变量

    2. 简单使用

      • 导入webdriver

        •  from selenium import webdriver
      • 启动驱动

        •  bro = webdriver.Chrome('chromedriver.exe')
      • 访问目标页面

        • bro.get(url) 只有get方法,网址必须包含http或者https

      • 延时方法

        • 绝对延时

          • time.sleep(1)

        • 隐形延时

          • bro.implicitly_wait(10)

          • 最长等待10秒,10秒后资源还是未加载,也直接执行后续代码,10秒类如果加载完成,直接执行后续代码

        • 显性等待,可设定轮询时间,每隔多少时间轮询一次

          • 了解即可

      • 定位标签

        •  btn = bro.find_element_by_xpath('//*[@id="lsform"]/div/div/table/tbody/tr[2]/td[3]/button')
           btn.click() 点击选中的按钮
           btn.get_attrbute(attr) 选中标签的属性,attr可以使class,value等各种标签的属性
        •  username_input = bro.find_element_by_id('ls_username')
           username_input.send_keys(username) #通过id定位输入框,通过send_keys发送输入的字符串
        •  bro.find_element_by_css_selector('#id') css选择器定位
           bro.find_element_by_class_name('red div') class进行查找
      • 保存屏幕

        •  bro.save_screenshot('main.png')
           bro.get_screenshot_as_file('screenshot.png')
      • 手动退出

        • bro.quit() 用完就退

      • 获取cookie

        •  bro.get_cookies()
      • 经验分享

        • 登录验证时由于用户电脑显示设置为125%缩放,所以定位坐标和获取到的图片大小都需要进行1.25倍数的放大,才能截取到正确的验证码

        • 有的网站做了很多的反扒机制,例如每次访问网页的验证码标签的id都有着随机字符串的后缀,使用xpath进行定位可能会比较麻烦,这时可以对id属性不变的父级或者更高级的标签进行定位,然后再定位到每次的随机字符串,获取字符串的值,再与验证码的xpath表达式进行拼接,这样就算每次的验证码标签的xpath表达式都不一样也能定位验证码位置

  • 相关阅读:
    Dockerfile指令学习 (转)
    手机触屏滑动图片切换插件swiper.js
    基于jquery网站左侧下拉菜单
    支持移动触摸设备的简洁js幻灯片插件
    基于jquery仿天猫分类导航banner切换
    基于jQuery图像碎片切换效果插件FragmentFly
    基于jQuery在线问卷答题系统代码
    基于CSS3自定义发光radiobox单选框
    基于jQuery左右滑动切换图片代码
    基于CSS3和jQuery实现的3D相册
  • 原文地址:https://www.cnblogs.com/W-Y-C/p/12375844.html
Copyright © 2011-2022 走看看