zoukankan      html  css  js  c++  java
  • 记录一个web自动化工具

    Selenium框架

    使用方法

    from selenium import webdriver
    
    # 这里使用的是谷歌浏览器 还有很多的浏览器可以选择 wd
    = webdriver.Chrome(r'd:webdriverschromedriver.exe') wd.get('http://cdn1.python3.vip/files/selenium/sample2.html') # 先根据name属性值 'innerFrame',切换到iframe中 wd.switch_to.frame('innerFrame') # 根据 class name 选择元素,返回的是 一个列表 elements = wd.find_elements_by_class_name('plant') for element in elements:
    print(element.text) # 切换回 最外部的 HTML 中 wd.switch_to.default_content() # 然后再 选择操作 外部的 HTML 中 的元素 wd.find_element_by_id('outerbutton').click() wd.quit()

    xpath 选择器的使用方法

    # 使用上图的方法可以快速的取到xpath的位置
    driver.find_elements_by_xpath("/html/body/div[4]/div[4]")

    示例:

    以下的方法已经失效了自供参考如有错误请谅解

    from selenium import webdriver
    
    # 注意如果要使用谷歌的浏览器需要下载chromedriver.exe
    driver = webdriver.Chrome('F:下载chromedriver.exe')
    
    driver.get('https://www.baidu.com/')
    
    
    # 模拟登录
    class Mock_login():
        def __init__(self, browser, url_login, username, password):
            self.browser = browser
            self.url_login = url_login
            self.username = username
            self.password = password
    
            # 这里就不多写判断机制了(如:url是否可以访问,浏览器路径是否正常....) 就直接写主要功能
    
            # 创建一个实例
            self.wd = webdriver.Chrome(self.browser)
            # 隐形等待时间(功能:等待网络IO和js渲染)
            self.wd.implicitly_wait(10)
    
        def run(self):
            self.wd.get(self.url_login)
    
            # .click()点击
            self.wd.find_element_by_xpath('/html/body/div[2]/div[1]/div[4]/a[2]').click()
            self.wd.find_element_by_name('normal').click()
            # 选择到用户名的输入框
            username_bot = self.wd.find_element_by_name('userName')
            # 输入内容
            username_bot.send_keys(self.username)
            # 选择到密码的输入框
            password_bot = self.wd.find_element_by_name('password')
            # 输入内容
            password_bot.send_keys(self.password)
            # 登录
            self.wd.find_element_by_id('TANGRAM__PSP_11__submit').submit()
    
            # 退出浏览器
            self.wd.quit()
    
    if __name__ == '__main__':
        Mock_login('F:下载chromedriver.exe','https://www.baidu.com/','aa','123')

     

  • 相关阅读:
    微信小程序实现课程表实例
    探索Java中的网络编程技术
    Java中的Spring MVC简介笔记
    我没有想赢,我只是不想输
    下次路过,人间再无我。
    从零基础入门MySQL数据库基础课
    vue.js-详解三大流行框架VUE_快速进阶前端大咖-Vue基础
    学习网站/实用工具,收藏的快搜网站,想找什么都有!!!
    【灵魂拷问】你真的懂得Mysql的管理和使用吗?
    【领会要领】web前端-轻量级框架应用(jQuery基础)
  • 原文地址:https://www.cnblogs.com/wangwen022/p/13363993.html
Copyright © 2011-2022 走看看