轻松自动化---selenium-webdriver(python) (九)

https://www.cnblogs.com/fnng/p/3238685.html

本节重点:

  • 上传文件

文件上传操作也比较常见功能之一,上传功能没有用到新有方法或函数,关键是思路。

上传过程一般要打开一个本地窗口,从窗口选择本地文件添加。所以,一般会卡在如何操作本地窗口添加上传文件。

其实,在selenium  webdriver 没我们想的那么复杂;只要定位上传按钮,通send_keys添加本地文件路径就可以了。绝对路径和相对路径都可以,关键是上传的文件存在。下面通地例子演示。

upload_file.html

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>upload_file</title>
<script type="text/javascript" async=""
src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
"></script>
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" />
<script type="text/javascript">
</script>
</head>
<body>
<div class="row-fluid">
<div class="span6 well">
<h3>upload_file</h3>
<input type="file" name="file" />
</div>
</div>
</body>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
</html>

upload.py

#coding=utf-8
from selenium import webdriver
import os,time

driver = webdriver.Firefox()

#脚本要与upload_file.html同一目录
file_path =  ‘file:///‘ + os.path.abspath(‘upload_file.html‘)
driver.get(file_path)

#定位上传按钮,添加本地文件
driver.find_element_by_name("file").send_keys(‘D:\\selenium_use_case\upload_file.txt‘)
time.sleep(2)

driver.quit()

其它有些应用不好找,所以就自己创建页面,这样虽然麻烦,但脚本代码突出重点。

这里找一139邮箱的实例,有帐号的同学可以测试一下~!

(登陆基础版的139邮箱,网盘模块上传文件。)

139upload.py

#coding=utf-8
from selenium import webdriver
import os,time

driver = webdriver.Firefox()

driver.get("http://m.mail.10086.cn")
driver.implicitly_wait(30)

#登陆
driver.find_element_by_id("ur").send_keys("手机号")
driver.find_element_by_id("pw").send_keys("密码")
driver.find_element_by_class_name("loading_btn").click()
time.sleep(3)

#进入139网盘模块
driver.find_element_by_xpath("/html/body/div[3]/a[9]/span[2]").click()
time.sleep(3)

#上传文件
driver.find_element_by_id("id_file").send_keys(‘D:\\selenium_use_case\upload_file.txt‘)
time.sleep(5)

driver.quit()

原文地址:https://www.cnblogs.com/yuer20180726/p/10813398.html

时间: 2024-11-05 22:33:52

轻松自动化---selenium-webdriver(python) (九)的相关文章

Selenium WebDriver + Python 环境配置

1.   下载必要工具及安装包 1.1.[Python开发环境] 下载并安装Python 2.7.x版本(当前支持2.x版本,不要下载最新的3.X的版本因为python3并非完全兼容python2) 下载地址:https://www.python.org/downloads/ 1.2.[python 的安装包管理工具]Pip pip 是python 软件包的安装和管理工具,有了这个工具,我们只需要一个命令就可以轻松的python 的任意类库. 下载地址: https://pypi.python.

【转】Selenium WebDriver + Python 环境

转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:https://www.python.org/downloads/ 1.2 [python 的安装包管理工具]Pip pip 是python 软件包的安装和管理工具,有了这个工具,我们只需要一个命令就可以轻松的python的任意类库. 下载地址:https://pypi.python.org/pypi/

selenium webdriver (python)大全

webdriver的简介 硒2.0的主要新功能是集成的webdriver的API.webdriver的设计除了解决一些seleniumr-RC API的一些限制,与webdriver 的整合,将提供一个更简单,更简洁的编程接口.selenium webdriver会更好地支持动态的网页,页面本身被重新加载页面元素可能更改.webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持现代先进的web-app测试. WebDriver与Selenium-RC相比,是如何来驱动浏览器

selenium webdriver python 开始

学习资料: Selenium with Python: http://selenium-python.readthedocs.org/en/latest/index.html Selenium WebDriver主要用来写 functional/acceptance tests. 当前支持Python版本: 2.7,3.2,3.3,3.4 当前支持的浏览器: Firefox, Chrome, Ie and Remote

Selenium WebDriver +Python讲解

1. Selenium1.0家谱: 1.1 Selenium IDE :是嵌入到浏览器中的一个插件,实现简单的浏览器操作的录制和回放功能.官方给出的定义:快速的创建bug重现脚本,在测试人员测试过程中,发现bug之后可以通过IDE将重新的步骤录制下来,以帮助开发人员更容易的重现bug. 1.2 Selenium Grid:是一种自动化的测试辅助工具,Grid通过利用现有的计算机基础设施,能加快Web-App的功能测试.利用Grid可以很方便地实现多台机器上和已购环境中运行测试用例. 1.3 Se

selenium webdriver python 环境搭建

1. 安装python https://www.python.org/getit/ 选择2.7版本,下载安装即可. 验证是否安装成功:打开cmd,输入"python -V",显示python版本号即安装成功. 2. 安装setuptools https://pypi.python.org/pypi/setuptools 安装步骤 下载setuptools-18.5.zip,完成之后解压 打开cmd,进入路径setuptools-18.5 python setup.py install

selenium webdriver+python基本操作

导入模块: from selenium import webdriver from selenium.common.exceptions import NoSuchElementException 选择浏览器: driver = webdriver.Firefox() 打开url: driver.get("http://www.baidu.com") 等待: driver.implicitly_wait(30) driver.set_page_load_timeout(30) driv

selenium+webdriver+python 中警告框的处理方法

在自动化测试过程中,经常会遇到弹出警告框的情况,如图所示: 在 WebDriver 中处理 JavaScript 所生成的 alert.confirm 以及 prompt 是很简单的.具体做法是使用 switch_to_alert()方法定位到 alert/confirm/prompt.然后使用 text/accept/dismiss/send_keys 按需进行操做.1. 获取警告框的text消息 2. 接受消息框(确定) 3. 取消 4. 输入值 text 返回 alert/confirm/

转:selenium webdriver+python基本操作

转自: http://blog.163.com/[email protected]/blog/static/1017337222013102310617946/ 导入模块: from selenium import webdriver from selenium.common.exceptions import NoSuchElementException 选择浏览器: driver = webdriver.Firefox() 打开url: driver.get("http://www.baid

selenium webdriver python 操作浏览器

新建driver driver=webdriver.Firefox() driver=webdriver.Ie() driver=webdriver.Chrome() 改变浏览器 将浏览器最大化 driver.maximize_window() 设置浏览器大小 driver.set_window_size(480,800) 浏览器前进.后退 driver.forward() driver.back() 设置浏览器位置 driver. set_window_position(0,0) 关闭浏览器