web自动化测试-webdriver实现
创始人
2024-01-25 07:01:22
0

webdriver实现基本语法

  • 1.Select下拉列表
    • 1.1下拉列表单选
    • 1.2下拉列表多选
  • 2.非Select下拉列表
  • 3.文件上传
    • 1.1input单个文件上传
    • 1.2input多个文件上传
    • 1.3非input文件上传

1.Select下拉列表

1.1下拉列表单选

在这里插入图片描述
在这里插入图片描述

from selenium import webdriver
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://sahitest.com/demo/selectTest.htm')
se = Select(driver.find_element('id', 's1Id')) # 定位下拉列表元素# 根据索引选择 0-表示第一列
se.select_by_index(1)  # 结果:选中o1# 根据值来选择 前端页面value="o2"
se.select_by_value('o2') # 结果:选中o2#根据文本选择,下拉列表显示的文字
se.select_by_visible_text('o3') # 结果:选中o3#循环打印下拉框选项  options 所有选项
for options in se.options:print(options.text)    

1.2下拉列表多选

在这里插入图片描述

在这里插入图片描述

from selenium import webdriver
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://sahitest.com/demo/selectTest.htm')
# 选择连续的几列
se = Select(driver.find_element('id', 's4Id')) # 定位下拉列表元素
for i in range(2, 6):se.select_by_index(i) # 显示o2到最后一个# 选择不连续的几列,结合ctrl键
from selenium.webdriver.common.action_chains import ActionChains 
from selenium.webdriver.common.keys import Keys # 使用键盘element1 = driver.find_element('xpath', '//*[@id="s4Id"]/option[3]') # 定位o2
element2 = driver.find_element('xpath', '//*[@id="s4Id"]/option[5]') # 定位最后一个
ActionChains(driver).key_down(Keys.CONTROL).click(element1).key_up(Keys.CONTROL).perform() # 选中o2
ActionChains(driver).key_down(Keys.CONTROL).click(element2).key_up(Keys.CONTROL).perform() # 选中最后一个

2.非Select下拉列表

(1)前端效果是这样的,点击输入框,出现下列列表,选择其中一个
在这里插入图片描述
定位输入框,点击,激活下列列表
在这里插入图片描述在这里插入图片描述
定位下列列表的列,注意这里使用Google自带的复制xpath,可能定位不准,需要自己手动去定位列的xpath

在这里插入图片描述

from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('')
driver.find_element('xpath', '//*[@id="userLayout"]/div/div[2]/div/div/form/div[1]/div/div/span/div').click() # 点击输入框,激活下列列表
driver.find_element('xpath', '//div[@id="popContainer"]/div[2]/div/div/div/ul/li[38]').click() # 点击列表的第38列

(2)这种多级下拉列表的与上方雷同。第一级定位点击,激活下一级,第二级定位点击,激活下一级,第三级定位点击。
在这里插入图片描述

#定位输入框,点击,激活下拉列表
driver.find_element('xpath', '//*[@id="popContainer"]/div[1]/div/section/section/main/div/div[2]/div/div/div/div[1]/div/div[2]/form/div/div[1]/div/div[2]/div/span/span').click()
#第一级定位点击,激活下一级下拉列表
driver.find_element('xpath', '//*[@id="popContainer"]/div[2]/div/div/div/ul/li[3]').click()
# 第二级定位点击,激活下一级下拉列表
driver.find_element('xpath', '//*[@id="popContainer"]/div[2]/div/div/div/ul[2]/li[1]').click()
# 第三级定位点击
driver.find_element('xpath', '//*[@id="popContainer"]/div[2]/div/div/div/ul[3]/li[1]').click()

3.文件上传

1.1input单个文件上传

前端代码
在这里插入图片描述

driver.find_element('xpath', '//input[@type="file"]).send_keys('C:\pig\counting-video\5.mp4') # z直接输入文件绝对路径

1.2input多个文件上传

多文件上传就是在文件路径框里用引号括起单个路径,然后用逗号隔开多个路径

1.3非input文件上传

相关内容

热门资讯

syb以往相关经验(拥有多次创... SYB培训是高校经常开展的一种培训,是大学生创业课程的重要组成部分。SYB在英语中是“创业”的缩写,...
义乌小商品代加工外发,温州小商... (图片/温州日记)温州火车站的金瑞小商品综合体前几年常和朋友来这里买帽子、发卡等小东西。之后有了淘宝...
项目代理服务有哪些地方(找项目... 陶吧,一个乡镇代理项目玩泥巴是孩子的天性,但在城市里,这些乐趣几乎被剥夺了。陶瓷艺术吧开业后,孩子们...
红色基因铸魂、绿色产业赋能——...   央视网消息:1940年2月23日,民族英雄杨靖宇将军在濛江雪原与日本侵略者英勇战斗至生命最后一刻...
焦点访谈丨跨区域招聘、开设微专...   2025年全国高校毕业生预计达1222万人。当年年刷新的毕业生数字和经济转型期的岗位结构性矛盾发...
世界市长对话·上合峰会城市 |...   来自澳大利亚的视频博主艾米(Amy)以“金发女孩在中国(Blondie in China)”走红...
义乌童装5一10元批发(义乌小... 大多数消费者追求的是物美价廉,十元店的外观很好的满足了大众的需求,价格低廉,商品品种齐全,品质优良。...
新华述评丨历史十字路口,世界为...   新华社北京7月6日电 题:历史十字路口,世界为何需要“大金砖”  新华社记者叶书宏  当地时间7...
2021年冰雪蜜城店加盟费多少... 作者杨雅倩来源丨AI蓝媒汇(lanmeih001)2021年,新茶市场重新洗牌。在京城等着看奶茶4....
以数观势|乘“数”而上 中国数...   发展数字经济,是把握新一轮科技革命和产业变革新机遇的战略选择。2024年,我国数字经济核心产业增...