原创 

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

分类:爬虫,selenium    385人阅读    IT小君  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}')

 

 

 

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

 工具推荐 更多»