Selenium+Python 下载文件与上传文件

本文详述了使用Selenium+Python进行网页文件下载和上传的自动化测试步骤,包括设置谷歌浏览器下载选项,处理iframe,鼠标悬停操作,以及利用AutoIt进行桌面元素定位等技术。
摘要由CSDN通过智能技术生成

目录

本文记录了我做的使用Selenium编写的自动化测试脚本,功能是从网页下载文件,并将下载的文件上传至另一页面。同时记录了一些编写过程中遇到的问题及解决方法

下载文件功能

谷歌浏览器下载设置

进入设置页面->高级,勾选下载内容的【下载前询问每个文件的保存位置】为勾选,以确保后面能够更改下载文件的名称以及保存地址。

切换iframe框架

在定位导出按钮时出现webdriver在处理定位元素报错,提示没有这样的元素的问题。查询后发现页面使用了frame技术。网页划分成多个子页面。webdriver默认查找的元素都是Top window这层。导出元素内嵌在了frame内部,需要先使用switch to语句,切换到frame内部,然后去操作元素,操作完了之后,需要switch out到default区域,也就是Top window。
在这里插入图片描述
上图红框位置标签后的内容均在iframe框架中,通过标签的name属性,定位此标签,代码如下

// An highlighted block
driver.switch_to.frame("671a7d8e-d2a0-43fd-8b23-0901a7b8f687")

定位元素进行操作后,需要回到Top window

// An highlighted block
driver.switch_to.default_content()

鼠标悬浮元素定位

使用悬停实现鼠标放置在导出元素上,弹出选项

鼠标悬停 move_to_element()

// An highlighted block
mouse = driver.find_element_by_xpath('//*[@class="bi-show bi-abs"]/div[2]/div/div[2]/div')
# a = driver.find_elements_by_xpath('//body/*[@id="wrapper"]/div[2]/div/div[2]/div')
time.sleep(1)
ActionChains(driver).move_to_element(mouse).perform()
try:
    driver.find_element_by_xpath("//*[@id='wrapper']/div[2]/div/div[2]/div[2]/div/div/div/div[2]").
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值