zoukankan      html  css  js  c++  java
  • selenium——操作网页文件上传

    原文:https://www.cnblogs.com/xiamaojjie/p/11624790.html

    SELENIUM之上传文件或图片的操作

    逛网站的时候经常会遇到需要上传图片的操作,这里主要来说下selenium操作上传文件的操作。

    前提条件:定位的元素必须是type 属性是file类型。即type="file",如下图:

    详细用法:

    参考代码:

    from selenium import webdriver
    import time
    
    
    driver = webdriver.Chrome()
    
    
    def test_open_page():
        '''打开界面'''
        driver.maximize_window()
        driver.get('http://106.233.81.250/fw/index.php?ctl=user&act=login')
    
    def test_register(user,password):
        '''输入用户名密码'''
        driver.find_element_by_css_selector('#login-email-address').send_keys(user)
        driver.find_element_by_css_selector('#login-password').send_keys(password)
        driver.find_element_by_xpath('//input[@type="submit"]').click()
        driver.implicitly_wait(30)
        driver.find_element_by_xpath('//input[@value="取消"]').click()
    
    def test_money():
        '''操作我要借款'''
        #driver.find_element_by_link_text('我要借款').click()
        el = driver.find_elements_by_css_selector('.pr20')
        el[2].click()
        ele = driver.find_elements_by_xpath('//div[@class="tc pt10"]/a/img')
        ele[0].click()
    
    def test_input_info():
        '''输入借款信息'''
        driver.find_element_by_css_selector('#borrowtitle').send_keys(2)
        driver.find_element_by_css_selector('#borrowamount').send_keys(2000)
        driver.find_element_by_css_selector('#repaytime').send_keys(20)
        driver.find_element_by_css_selector('#apr').send_keys(20)
        # todo js操作滚动条
        js1 = "document.documentElement.scrollTop=1000"
        driver.execute_script(js1)
        time.sleep(1)
        elem = driver.find_elements_by_xpath('//div[@style="710px;"]/input[@type="text"]')
        elem[0].send_keys(2)
        driver.find_element_by_xpath('//button[@rel="file_1"]').click()
        time.sleep(1)
        driver.find_element_by_xpath('//li[text()="本地上传"]').click()
        time.sleep(1)
        # todo 文件操作上传图片
        driver.find_element_by_name('imgFile').send_keys(r'D:file1.png')
        time.sleep(1)
        driver.find_element_by_xpath('//input[@type="button" and @value="确定"]').click()
    
    def test_closed():
        time.sleep(6)
        driver.quit()
    
    test_open_page()
    test_register('admin','admin')
    test_money()
    test_input_info()
    test_closed()
    

      

  • 相关阅读:
    【数据结构】算法 Tree Sub Structure 树的子结构
    【数据结构】算法 Binary Search Tree find Kth largest Node 二叉搜索树的第k大节点
    【数据结构】算法 Count Complete Tree Nodes 完全二叉树的节点个数
    【数据结构】算法 合并K个有序链表Merge k Sorted Lists
    JVisualVM 插件安装中出现网络问题
    [ISSUE] Logback TimeBasedRollingPolicy not rolling every day.
    【数据结构】算法 计算数组中的逆序对
    JQ为元素添加class
    时间戳转换成日期
    JS拖拽
  • 原文地址:https://www.cnblogs.com/heymonkey/p/13685360.html
Copyright © 2011-2022 走看看