selenium with python之UI自动化

 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'))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

York_he

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值