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)
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() # 选中最后一个
(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()
前端代码
driver.find_element('xpath', '//input[@type="file"]).send_keys('C:\pig\counting-video\5.mp4') # z直接输入文件绝对路径
多文件上传就是在文件路径框里用引号括起单个路径,然后用逗号隔开多个路径