下拉框,文件上传,cookie操作,滚动条高度
- 下拉框操作
from selenium.webdriver.support.select import Select
# 定位到下拉框元素
ele = driver.find_element_by_id("abc")
# # 根据下拉框文本选择
Select(ele).select_by_visible_text("月薪三千")
# # 根据下标选择
# Select(ele).select_by_index(0)
# 根据 value 属性选择
Select(ele).select_by_value("p3")
- 文件上传
import win32com.client
# # 定位到文件上传的 input 标签
# ele = driver.find_element_by_css_selector("input[type=\"file\"]")
#ele.send_keys("D:\\Users\lenovo\PycharmProjects\script\study\seleniumStu\day4\ele.png")
# 对于非 input 标签实现的上传功能,我们通过模拟键盘敲击的方式实现
# 触发文件上传的功能
driver.find_element_by_css_selector("figure.icon").click()
time.sleep(3)
# 模拟键盘敲击,会不管不顾的敲击,只要代码运行到这里,就敲
sh = win32com.client.Dispatch("WScript.shell")
sh.Sendkeys("D:\\Users\lenovo\PycharmProjects\script\study\seleniumStu\day4\ele.png\r\n")
# 注意:代码运行过程不要操作鼠标
# 输入法要保持英文输入的状态
- cookie操作
# 获取所有的 cookie
cookieSli = driver.get_cookies()
pprint.pprint(cookieSli)
# # 根据name,获取某个cookie
# cookie = driver.get_cookie("beegosessionID")
# print(cookie)
- cookie模拟登录
cookieSli = [{'domain': '127.0.0.1',
'httpOnly': False,
'name': 'Hm_lpvt_750463144f16fe69eb3ac11bea1c4436',
'path': '/',
'secure': False,
'value': '1608555739'},
{'domain': '127.0.0.1',
# 'expiry': 1640091739,
'httpOnly': False,
'name': 'Hm_lvt_750463144f16fe69eb3ac11bea1c4436',
'path': '/',
'secure': False,
'value': '1608555739'},
{'domain': '127.0.0.1',
# 'expiry': 1640091738,
'httpOnly': True,
'name': 'beegosessionID',
'path': '/',
'secure': False,
'value': '06263987180ed7d51bc9f7014b31f03e'}]
# 先清除所有的cookie
driver.delete_all_cookies()
for cookie in cookieSli:
# 添加 cookie
driver.add_cookie(cookie)
driver.refresh()
"""
关于ui自动化登录的问题
1、若权限足够,则申请服务端权限,读取验证码
2、也可以在权限足够的情况下,去修改服务端验证码的值
3、若权限不足,则请开发将测试环境的验证码校验取消(此刻输入任何内容都能通过
4、测试环境设置一个万能验证码
需要注意的是,第三四种方法,必须在上线后,修正
"""
- 屏幕滚动条高度 可以通过 driver.execute_script() 执行js代码,达到目的
# 方法一 scrollBy(x,y)
self.driver.execute_script('window.scrollBy(0,900)')
x:必传,正数则向右滑动的像素值,负数则向左滑动的像素值
y:必传,正数则向下滑动的像素值,负数则向上滑动的像素值
# 方法二 scrollTo(x,y)
self.driver.execute_script('window.scrollTo(0,900)')
# 方法三 document.documentElement.scrollTop
获取当前滚动条高度
scrolTop = driver.execute_script("document.documentElement.scrollTop")
设置滚动条高度
self.driver.execute_script("document.documentElement.scrollTop=1000")
嗨~今天你暴躁了吗?
~~~关注我,更多精彩内容带给你,关注私聊带走绝密知识~~~