当前位置 博文首页 > 白雪冬的博客:下拉框选择+文件上传+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()
# -*- 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()
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()
# -*- 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