zoukankan      html  css  js  c++  java
  • python自动化其他方法

    照片截图

    from selenium import webdriver
    import time
    
    
    driver = webdriver.Chrome()
    driver.get('http://www.imooc.com')
    driver.save_screenshot('test.png')
    time.sleep(2)
    driver.close()

    js脚本执行

    from selenium import webdriver
    # from selenium.webdriver.common.action_chains import ActionChains
    import time
    
    
    driver = webdriver.Chrome()
    driver.get('https://www.imooc.com/article')
    js = 'document.documentElement.scrollTop = 100000;'
    driver.execute_script(js)
    t=True
    while t:
        element_list = driver.find_elements_by_class_name('article-lwrap')
        for element in element_list:
            course_name = element.find_element_by_tag_name('p').text
            print(course_name)
            if course_name == 'Spring Boot实战系列(1)项目构建':
                element.click()
                t = False
            driver.execute_script(js)
    
    driver.close()

    浏览器提示框

    from selenium import webdriver
    # from selenium.webdriver.common.action_chains import ActionChains
    import time
    
    
    driver = webdriver.Chrome()
    driver.get('https://www.imooc.com')
    
    time.sleep(2)
    
    driver.find_element_by_id('alert').click()
    time.sleep(2)
    
    driver.switch_to.alert.accept()
    time.sleep(2)
    driver.find_element_by_id('sure').click()
    time.sleep(2)
    driver.switch_to.alert.accept()
    time.sleep(2)
    driver.refresh()
    time.sleep(2)
    
    driver.find_element_by_id('sure').click()
    time.sleep(2)
    driver.switch_to.alert.dismiss()
    time.sleep(2)
    driver.refresh()
    time.sleep(2)
    
    driver.find_element_by_id('three').click()
    time.sleep(2)
    alert_element = driver.switch_to.alert
    print(alert_element.text)
    alert_element.send_keys('text')#由于兼容性,chrome不兼容selenium的弹窗文本输入.
    alert_element.accept()
    driver.close()

    富文本切换

    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    
    
    driver = webdriver.Chrome()
    driver.get('https://www.imooc.com')
    element = driver.find_element_by_id("js-signin-btn")
    element.click()
    time.sleep(3)
    driver.find_element_by_name("email").send_keys('940142834@qq.com')
    element = driver.find_element_by_name('password')
    element.send_keys('zsj520wm')
    driver.find_element_by_class_name("moco-btn-lg").click()
    time.sleep(2)
    driver.get('https://www.imooc.com/wenda/save')
    driver.switch_to.frame('ueditor_0')
    time.sleep(2)
    p_element = driver.find_element_by_tag_name('p')
    ActionChains(driver).move_to_element(p_element).click().send_keys('This is test').perform()
    time.sleep(3)
    driver.switch_to.default_content()
    time.sleep(2)
    driver.find_elements_by_class_name('save-list-tag')[1].click()
    time.sleep(3)
    driver.close()

    浏览器上传文件

    from selenium import webdriver
    from selenium.webdriver.support.select import Select
    from pykeyboard import PyKeyboard
    import time
    
    
    driver = webdriver.Chrome()
    pykey = PyKeyboard()
    driver.get('https://www.imooc.com')
    element = driver.find_element_by_id("js-signin-btn")
    element.click()
    time.sleep(3)
    driver.find_element_by_name("email").send_keys('940142834@qq.com')
    element = driver.find_element_by_name('password')
    element.send_keys('zsj520wm')
    driver.find_element_by_class_name("moco-btn-lg").click()
    time.sleep(15)
    try:
        driver.get("https://www.imooc.com/user/setprofile")
        time.sleep(5)
        driver.find_element_by_id("upload").send_keys("D:\download\test.png")
        time.sleep(5)
        driver.close()
    except:
        driver.close()
    
        '''
        
        '''
    time.sleep(15)
    pykey.tap_key(pykey.shift_key)
    pykey.type_string("D:\download\test.png")
    time.sleep(2)
    pykey.tap_key(pykey.enter_key)
    time.sleep(2)
    pykey.tap_key(pykey.enter_key)
    driver.close()

    浏览器操作cookie

    from selenium import webdriver
    from selenium.webdriver.support.select import Select
    import time
    
    
    driver = webdriver.Chrome()
    driver.get('http://order.imooc.com/myorder')
    time.sleep(2)
    driver.delete_all_cookies()
    
    '''
    driver.get('http://www.imooc.com')
    element = driver.find_element_by_id("js-signin-btn")
    element.click()
    time.sleep(3)
    driver.find_element_by_name("email").send_keys('940142834@qq.com')
    element = driver.find_element_by_name('password')
    element.send_keys('zsj520wm')
    driver.find_element_by_class_name("moco-btn-lg").click()
    time.sleep(2)
    #拿到所有cookies
    cookie_list = driver.get_cookies()
    '''
    cookie = {}
    time.sleep(2)
    # 打印cookies
    print(cookie)
    driver.add_cookie(cookie)
    time.sleep(2)
    driver.get('http://order.imooc.com/myorder')
    time.sleep(2)
    driver.close()

    浏览器操作json

    import json
    
    
    class HandleJson:
        def load_json(self):
            with open('\learn_test\config\cookie.json') as fp:
                data = json.load(fp)
            return data
    
        def get_data(self):
            return self.load_json()
    
        def write_data(self,data):
            with open('\learn_test\config\cookie.json','w') as  fp:
                fp.write(json.dumps(data))
    #
    # if __name__ == '__main__':
    #     hand = HandleJson()
    #     print(hand.get_data())
    
    handle_json = HandleJson()

    浏览器切换句柄

     1 from selenium import webdriver
     2 from selenium.webdriver.support import expected_conditions as EC
     3 import time
     4 
     5 driver = webdriver.Chrome()
     6 driver.get('https://www.imooc.com/user/newlogin/from_url/')
     7 driver.find_element_by_name('email').send_keys('13052939116')
     8 driver.find_element_by_name('password').send_keys("zsj520wm")
     9 driver.find_element_by_class_name('moco-btn').click()
    10 time.sleep(2)
    11 
    12 driver.get('https//www.imooc.com/user/setbindsns')
    13 driver.find_elements_by_class_name('inner-i-box')[1].find_element_by_class_name('moco-btn-normal').click()
    14 
    15 handle_list = driver.window_handles
    16 current_handle = driver.current_window_handle
    17 print(handle_list)
    18 #[1,2,3,4]
    19 time.sleep(15)
    20 for i in handle_list:
    21     if i != current_handle:
    22         time.sleep(2)
    23         driver.switch_to.window(i)
    24         ti = EC.title_contains('网站连接')
    25         if ti(driver) == True:
    26             break
    27 time.sleep(5)
    28 driver.find_element_by_id('userId').send_keys('test')
    29 time.sleep(5)
    30 driver.close()
    31 driver.quit()
    少壮不努力,老大徒伤悲
  • 相关阅读:
    webdriver---API---(java版) the fifth part
    【CSP-S2019模拟】题解
    【CSP-S2019模拟】题解
    【洛谷P5113】—魔女的夜宴Sabbat of the witch(分块+基数排序)
    【Codeforces 666 E】—Forensic Examination(广义Sam+线段树合并)
    【洛谷P4081】【USACO17DEC】—Standing Out from the Herd(广义Sam)
    【洛谷P4451】整数的lqp拆分(生成函数)
    【CSP-S 2019模拟】题解
    【Codeforces 335 E】—Counting Skyscrapers
    【Codeforces 793 G】—Oleg and chess(线段树优化建图+最大流)
  • 原文地址:https://www.cnblogs.com/zsjlovewm/p/11305573.html
Copyright © 2011-2022 走看看