【selenium学习 -6】文件上传操作的两种方式
2021-03-05 09:28
标签:put windows 步骤 chrome html val type https 无法 本文主要讲解,在selenium自动化中,实现文件上传的两种方式。 本章节实验的HTML代码: 第一种方式是,使用send_keys来实现文件的上传 可以先定位到该元素,然后直接将文件的路径作为send_keys的参数 第二种方式是,点开Windows的窗口,使用 PyUserInput 库进行全局的鼠标键盘操作。 1.第一步需要安装PyUserInput,可以通过pip install PyUserInput直接安装,但是在安装过程中,提示需要首先安装PyHook。 PyHook只能离线安装,进入https://www.lfd.uci.edu/~gohlke/pythonlibs/ 选择合适自己的版本 比如 pyHook?1.5.1?cp27?cp27m?win32.whl 代表 pyHook的1.5.1版本 适用于python2.7版本 windows32位 pyHook?1.5.1?cp27?cp27m?win_amd64.whl 代表 pyHook的1.5.1版本 适用于python2.7版本 windows64位 下载好后,可以在cmd中,输入以下内容安装 2.安装pyhook后,再进行PyUserInput便可顺利完成。测试代码如下。 总结:因为web的代码无法操作Windows的窗口,所以衍生出了两种方式,一种直接调API,一种进行系统层面的全局操作。当然,能用第一种尽量用第一种,方便简单。如果实在无法,也可以使用第二种方式 第二种方式,因为是在全局进行操作,所以也可以应用在其他C/S上的测试,这个问题,以后再细说吧 【selenium学习 -6】文件上传操作的两种方式 标签:put windows 步骤 chrome html val type https 无法 原文地址:https://www.cnblogs.com/ronyjay/p/12907028.htmlhtml>
form action="http://baidu.com" target="" id="uploadForm" enctype="multipart/form-data">form>
input id="file" type="file" name="file" />
input type="submit" name="submit" id="submit" value="upload" />
form>
html>
from selenium import webdriver
import time
if __name__ == ‘__main__‘:
driver = webdriver.Chrome()
driver.get(r"file:///E://Project//Selenium//upload.html")
driver.maximize_window()
ele =driver.find_element_by_id("file")
ele.send_keys(r"E:\Project\Selenium\test.jpg") #此步骤中直接将文件的路径作为send_keys的参数传递
time.sleep(3)
driver.find_element_by_id("submit").click()
pip install pyhook-xxx-xxx.whl路径
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
#PyMouse和PyKeyboard的使用,导入以下,而不是导入PyUserInput
from pymouse import PyMouse
from pykeyboard import PyKeyboard
if __name__ == ‘__main__‘:
mouse = PyMouse()
key =PyKeyboard()
driver = webdriver.Chrome()
driver.get(r"file:///E://Project//Selenium//upload.html")
driver.maximize_window()
ele =driver.find_element_by_id("file")
ActionChains(driver).click(ele).perform()
time.sleep(3)
#点开Windows窗口后,光标就会自动在windows的输入栏内,可以直接进行全局输入
key.type_string(r"E:\Project\Selenium\test.jpg")
time.sleep(5)
#输入后,再按回车
key.press_key(key.enter_key)
上一篇:discuz 网站空白怎么解决
下一篇:CSS揭秘(一)
文章标题:【selenium学习 -6】文件上传操作的两种方式
文章链接:http://soscw.com/index.php/essay/60386.html