当前位置 博文首页 > 白雪冬的博客:下拉框选择+文件上传+cookie 操作+po 模式初识

    白雪冬的博客:下拉框选择+文件上传+cookie 操作+po 模式初识

    作者:[db:作者] 时间:2021-09-14 10:14

    (下拉框选择+文件上传+cookie 操作+po 模式初识)

    下拉框选择
    # -*- coding: utf-8 -*-
    # @Author:lsf
    # @File:1下拉框选择 
    # @Time:2021/7/20
    # @Email:2795849212@qq.com
    # @Software:PyCharm
    
    # 先导入 selenium需要的包
    from selenium import webdriver
    # 导入 select类
    from selenium.webdriver.support.select import Select
    import time
    
    # 得到一个 driver对象
    driver = webdriver.Chrome()
    
    # 打开有下拉框的网页
    driver.get('D:\\songqin\daima\seleniumfuxi1\day5\\test.html')
    
    # 下拉框选择元素
    ele = driver.find_element_by_id('abc')
    
    # 根据坐标进行选择
    Select(ele).select_by_index(1)
    time.sleep(2)
    #
    # 根据下拉框 value进行选择
    # Select(ele).select_by_value('p1')
    
    # 根据下拉框可见文本进行选择
    # Select(ele).select_by_visible_text("月薪三万")
    
    # 关闭 driver驱动
    driver.quit()
    
    文件上传
    # -*- coding: utf-8 -*-
    # @Author:lsf
    # @File:2文件上传 
    # @Time:2021/7/20
    # @Email:2795849212@qq.com
    # @Software:PyCharm
    
    
    """
    如果上传文件是input标签的话直接把图片路径输入到里面即可
    """
    import win32com.client
    
    # 先导入 selenium的包
    from selenium import webdriver
    import time
    
    # 得到一个 driver对象
    driver = webdriver.Chrome()
    
    # 访问网址
    driver.get("https://tinypng.com/")
    
    driver.implicitly_wait(10)
    
    # 点击上传图片
    driver.find_element_by_css_selector('.icon').click()
    
    # 得到一个 window上面执行脚本命令
    
    sh = win32com.client.Dispatch('WScript.shell')
    time.sleep(3)
    
    """
    输入图片位置
        注:输入法必须得在英文状态下、而且还不能有中文
    """
    sh.Sendkeys('D:\image\\111.png\n')
    time.sleep(1)
    
    # 关闭浏览器驱动对象
    driver.quit()
    
    
    cookie操作
    # -*- coding: utf-8 -*-
    # @Author:lsf
    # @File:3cookie操作 
    # @Time:2021/7/20
    # @Email:2795849212@qq.com
    # @Software:PyCharm
    
    # 先导入 selenium的包
    from selenium import webdriver
    import time
    
    # 得到一个driver对象
    driver = webdriver.Chrome()
    
    # 打开一个网站登录
    driver.get('https://fenxiangbuycmsmall.ixiaocong.com/#/login')
    
    # 隐士等待 10秒
    driver.implicitly_wait(10)
    
    # 输入用户名和密码
    driver.find_element_by_name('username').send_keys('lousifa')
    driver.find_element_by_name('password').send_keys('lousifa233')
    
    # 点击登录按钮
    driver.find_element_by_css_selector('.formItems .formItem.el-row:nth-child(4) button').click()
    
    # 等待5秒然后获取 cookie
    time.sleep(5)
    
    # 获取所有的cookies
    cookies = driver.get_cookies()
    print(cookies)
    
    # # 根据cookie名获取cookie
    # cookie = driver.get_cookie('cookie_name')
    # print(cookie)
    #
    # # 删除所有的cookie
    # driver.delete_all_cookies()
    # #根据 cookie名字删除对应的cookie
    # driver.delete_cookie('cookie_name')
    
    # 关闭浏览器驱动对象
    driver.quit()
    
    
    通过cookie绕过登录
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome()
    driver.get('http://127.0.0.1:8088/login')
    
    time.sleep(4)
    
    # 把这个过期时间注销掉、因为有这个过期时间的话、就代表在一定的时间以后这个cookie就失效了
    cookies = [
                {'domain': '127.0.0.1',
                 'httpOnly': False,
                 'name': 'Hm_lpvt_750463144f16fe69eb3ac11bea1c4436',
                 'path': '/', 'secure': False, 'value': '1624006222'},
                {'domain': '127.0.0.1',
                 # 'expiry': 1655542221,
                 'httpOnly': False,
                 'name': 'Hm_lvt_750463144f16fe69eb3ac11bea1c4436',
                 'path': '/',
                 'secure': False,
                 'value': '1624006220'},
                {'domain': '127.0.0.1',
                 # 'expiry': 1655542219,
                 'httpOnly': True,
                 'name': 'beegosessionID',
                 'path': '/',
                 'secure': False,
                 'value': '4669021528d8a08b69adc80255afd9d3'}]
    
    
    
    # 删除之前的 cookie
    driver.delete_all_cookies()
    
    # 之后把登录后的cookie添加进里面
    for cookie in cookies:
        driver.add_cookie(cookie)
    
    # 刷新
    driver.refresh()
    
    简单的po模式
    # -*- coding: utf-8 -*-
    # @Author:lsf
    # @File:4简单的po模式 
    # @Time:2021/7/20
    # @Email:2795849212@qq.com
    # @Software:PyCharm
    
    # 先导入 selenium的包
    from selenium import webdriver
    import time
    
    
    class DemoPo:
    
        def __init__(self):
            # 得到一个driver对象
            self.driver = webdriver.Chrome()
    
            # 打开一个网站登录
            self.driver.get('https://fenxiangbuycmsmall.ixiaocong.com/#/login')
    
            # 隐士等待 10秒
            self.driver.implicitly_wait(10)
    
        # 登录方法
        def login(self):
    
            # 输入用户名和密码
            self.driver.find_element_by_name('username').send_keys('lousifa')
            self.driver.find_element_by_name('password').send_keys('lousifa233')
    
            # 点击登录按钮
            self.driver.find_element_by_css_selector('.formItems .formItem.el-row:nth-child(4) button').click()
    
            # 最后关闭 driver对象
            self.driver.quit()
    
    
    if __name__ == '__main__':
        DemoPo().login()
    
    cs
    下一篇:没有了