原创 

selenium 自动化测试之文件上传的两种方式

分类:爬虫,selenium    78人阅读    Damon  2023-09-09 17:07

方式一:

文件上传是通过input type=file 实现的,可以找到该元素,将上传文件绝对路径输入,即可完成上传

代码如下:

path = "G:\\procedure\\python\\shopSpider\\publish\\" + name
time.sleep(3)

self.driver.find_element_by_xpath('//*[@id="drop-zoom"]/div[2]/div[3]/input').send_keys(path)
time.sleep(2)

如果是编辑器一般会放到iframe里面需要使用如下代码切换windows再执行以上代码:

iframes = self.browser.find_elements_by_tag_name("iframe")
iframe = None
for it in iframes:
    if 'select.htm' in it.get_attribute("src"):
        iframe = it
self.driver.switch_to.frame(iframe)

方式二:

找不到input可以按照手动上传流程是,使用pywinauto模拟,页面点击打开上传窗口后使用send_key 直接输入文件 绝对路径 然后 enter 使用代码如下:

search = self.browser.find_elements_by_css_selector('#uploadBtn')
search[0].click()
time.sleep(3)
#pywinauto的用法
path ="D:\\code\\shopSpider\\publish\\" +name
send_keys(path)
time.sleep(2)
send_keys('{VK_RETURN}')

 

 

 

点击广告,支持我们为你提供更好的服务

React实现的电子商务管理后台模板 - Dashtar

原子模型CSS3动画

技能培训在线学习平台网站模板 - Collab

canvas生日快乐动画特效

法律服务和律师事务所HTML5模板 - AttorCo

功能齐全的ReactJs管理模板 - Adminto

按钮的hover效果覆盖过渡

CSS DIV画的字母Q

环绕式按钮菜单

three.js立体感粒子动画

创意代理和初创公司HTML模板 - Wan

CSS鼠标停靠图标变大

百分比加载进度SVG线条动画

CSS 3D铅笔旋转效果

单页形式个人主页HTML模板 - Wedo

SEO和数字营销机构HTML模板 - SEOMY

立体空间感3d几何体破碎

Tailwindcss高级管理后台模板框架 - T-Wind

残障人士服务网站HTML模板 - Medixare

市政府和行政机构HTML5模板 - Towngov

点击广告,支持我们为你提供更好的服务
 工具推荐 更多»
点击广告,支持我们为你提供更好的服务