zoukankan      html  css  js  c++  java
  • selenuim模块的使用 解析库

    selenium:
    是自动化测试工具,我们可以用它来进行爬虫。

    可以驱动浏览器,执行自定义好的任务。

    可以执行js代码

    执行速度慢,效率低。

    一般用于做登录的认证


    基本选择器:

    find_element_by_id() # 根据id查找标签
    find_element_by_class_name() # 根据class查找标签
    find_element_by_link_text() # 根据链接文本查找标签
    find_element_by_partail_link_text() # 链接文本模糊查询
    find_element_by_css_selector() # 根据属性选择器查找元素
    find_element_by_xpath()
    - / 从根开始查找
    - // 从根开始查找所有子标签 (重点使用)
    - * 找所有
    - .找当前标签
    - @href 查找标签属性

    - 打开浏览器开发者模式,鼠标右击copy xpath
    //*[@id="zh-recommend-list"]/div[1]/h2/a
    //*[@id="zh-recommend-list"]/div[1]/div[2]/div[2]/div/img

    用户交互操作
    ActionChains # 动作链接
    - 点击并按住某个标签
    ActionChains(driver).click_and_hold(标签).perform()

    - 拖拽某个标签
    ActionChains(driver).drag_and_drop(标签).perform()

    - 移动标签
    ActionChains(driver).move_by_offset(X, Y).perform()

    - 释放动作链
    ActionChains(driver).release().perform()


    前进后退
    forward()
    back()


    执行js代码
    - 弹窗
    js = '''
    alert('tank')
    '''

    driver.execute_script(js)

    - 滑动滚轮
    js = '''
    window.scrollTo(0, 下滑滚动距离(px作为单位))
    '''

    暴力破解用户登录

    破解的前提是目标网站登录成功后保存用户的token或session信息到浏览器中。

    - 先把Default文件夹删除
    C:UsersAdministratorAppDataLocalGoogleChromeUser Data

    - 去登录获取登录后的token或session键值对

    - add_argument()
    profile_directory = r'--user-data-dir=C:UsersAdministratorAppDataLocalGoogleChromeUser Data'
    options.add_argument(profile_directory)

    - 添加cookies信息
    往目标网站发送请求

    隐式等待

    driver.add_cookies({
    'name': "**",
    "value": "***"
    })

  • 相关阅读:
    Git工作中用法(Gitlab)
    面试记录,不定时更新中。。。
    webservice 技术改进
    HTTP详解
    Git学习05 --分支管理02
    Git学习04 --分支管理
    链表判环问题
    k-选取问题
    图片与字符串(base64编码)的转化
    二叉堆与堆排序的简单实现
  • 原文地址:https://www.cnblogs.com/tangda/p/10960984.html
Copyright © 2011-2022 走看看