zoukankan      html  css  js  c++  java
  • py库: Selenium (自动化测试)

    http://blog.csdn.net/liujingqiu/article/details/50458553

    http://www.cnblogs.com/zhaof/p/6953241.html  python爬虫从入门到放弃(八)之 Selenium库的使用  2017-10-18

    https://www.youtube.com/watch?v=roTwhVIHkAo


    首先需要一个浏览器供python使用:Chormedriver.exe

    http://download.csdn.net/download/r455678/9713526  墙内可以这里下载2.25版本的

    • http://www.seleniumhq.org/download/                                  selenium官网  页面内查找chrome(同理,可以查找其它浏览器的driver)
    • https://sites.google.com/a/chromium.org/chromedriver/  google相关页面
    • https://chromedriver.storage.googleapis.com/index.html?path=2.35/    google下载页,下载:
    • https://chromedriver.storage.googleapis.com/2.35/chromedriver_win32.zip

    下载后保存在 C:Python3ScriptsChormedriver.exe

    先来个例子: 

    # -*- coding: utf-8 -*-
    from selenium import webdriver
    import time
    
    browser = webdriver.Chrome()         # Chrome浏览器
    #browser = webdriver.Firefox()       # Firefox浏览器
    browser.get("http://www.baidu.com")
    browser.find_element_by_id("kw").send_keys("自动化测试")
    time.sleep(5)#休息5秒
    browser.close()
    browser.quit()

      

    from selenium import webdriver
    import time
    
    browser = webdriver.Chrome()  # Chrome浏览器
    # browser = webdriver.Firefox()       # Firefox浏览器
    browser.get("https://morvanzhou.github.io")
    browser.find_element_by_link_text(u"赞助").click()
    time.sleep(2)
    browser.find_element_by_link_text("About").click()
    time.sleep(2)
    browser.find_element_by_link_text(u"教程 ▾").click()
    time.sleep(2)
    browser.find_element_by_link_text(u"推荐学习顺序").click()
    time.sleep(2)
    html = browser.page_source
    browser.get_screenshot_as_file("zz123.png")
    
    time.sleep(10)  # 休息5秒
    browser.close()
    browser.quit()

    常用的查找元素方法:

    • find_element_by_name
    • find_element_by_id
    • find_element_by_xpath
    • find_element_by_link_text
    • find_element_by_partial_link_text
    • find_element_by_tag_name
    • find_element_by_class_name
    • find_element_by_css_selector

    示例:  其它例子去这里看:http://www.cnblogs.com/zhaof/p/6953241.html

    from selenium import webdriver
    browser = webdriver.Chrome()
    browser.get("http://www.zhihu.com/explore")
    
    #获取元素属性 get_attribute('class')
    logo = browser.find_element_by_id('zh-top-link-logo')
    print(logo)
    print(logo.get_attribute('class'))
    
    #获取文本值 text
    input = browser.find_element_by_class_name('zu-top-add-question')
    print(input.text)
    
    # 执行js
    # browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
    # browser.execute_script('alert("To Bottom")')
    
    #获取:id,  位置:location ,  标签名:tag_name,  size
    input = browser.find_element_by_class_name('zu-top-add-question')
    print(input.id)
    print(input.location)
    print(input.tag_name)
    print(input.size)

     ...

  • 相关阅读:
    C#开源框架
    8 种 NoSQL 数据库系统对比
    安装补丁“此更新不适用于你的计算机”解决办法
    .net开源资料
    winform程序退出
    jquery.chained与jquery.chained.remote使用以及区别
    存储过程使用回滚
    C# Panel中绘图如何出现滚动条
    C#结构体的特点浅析
    如何用堆栈和循环结构代替递归调用--递归转换为非递归的10条军规
  • 原文地址:https://www.cnblogs.com/qq21270/p/7689797.html
Copyright © 2011-2022 走看看