1.下拉框选值
#下拉框选值问题
from selenium import webdriver
from selenium.webdriver.support.ui import Select
import time
driver = webdriver.Chrome()
driver.get('http://sahitest.com/demo/selectTest.htm')
select = Select(driver.find_element_by_id("s4Id"))
time.sleep(1)
select.select_by_value("o4val")
time.sleep(3)
options2 = select.all_selected_options
print('查看下拉选项中所有值为"o4val"的选项')
for selected in options2:
print(selected.text)
options = select.options
print("查看所有选项")
for allSelect in options:
print(allSelect.text)
#取消选择
select.deselect_all()
2.上传文件
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://sahitest.com/demo/php/fileUpload.htm') #借用别人的上传网址
upload=driver.find_element_by_id('file')
upload.send_keys('d:\Log.txt')
print(upload.get_attribute('value'))
3.上传不规则一个或多个文件
from selenium import webdriver
import win32gui
import win32con
import time
driver = webdriver.Chrome()
driver.get('http://sahitest.com/demo/php/fileUpload.htm')
upload = driver.find_element_by_id('file')
upload.click()
time.sleep(1)
# win32gui
dialog = win32gui.FindWindow('#32770', u'文件上传') # 对话框
ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None) # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
button = win32gui.FindWindowEx(dialog, 0, 'Button', None) # 确定按钮Button
win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, 'D:\Log.txt') # 往输入框输入绝对地址
# win32gui.SendMessage(Edit, win32con.WM_SETTEXT, 0, '"d:\Log.txt" "d:\\upload.py" "d:\\1.html"') #这是多文件上传写法
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button) # 按button
print(upload.get_attribute('value'))