提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
Python小白一枚,记录日常用.如果你觉得对你有帮助,麻烦点个赞让我看到,谢谢. 这是一篇基于Python,使用Selenium库上传多份本地文件至某文件格式转换网站的方法,感兴趣的可以跟着做一下,顺便说一下这个网站非常好用提示:以下是本篇文章正文内容,下面案例可供参考
使用步骤
1.引入库
代码如下(示例):
import time,win32com.client
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
2.读入数据
代码如下(示例):
driver = webdriver.Chrome()
driver.get("https://convertio.co/zh/") #这个过程比较慢,因为这个网站要加载元素较多
driver.maximize_window()
upload_btn=driver.find_element_by_css_selector("label.action-label") #找到"文件上传"按钮
upload_btn.click()
time.sleep(2)
sh = win32com.client.Dispatch("WScript.shell") #有的版本自带,有的需要下载 口令: pip install pypiwin32
sh.Sendkeys(r"D:\testing1.pdf"+"{enter}"+"\n") #调用window的API接口,上传本地文件,并回车
driver.implicitly_wait(10) #隐式等待
for i in range(len(list)-1):
more_files_ele=driver.find_element_by_css_selector("span.btn.btn-sm.btn-light") #"添加更多文件“按钮
ActionChains(driver).move_to_element(more_files_ele).perform() #鼠标悬停
driver.find_element_by_css_selector("label[for=pc-upload-add]").click()
time.sleep(2)
sh.Sendkeys(list[i+1]+"{enter}"+"\n") #在键盘上输入文件地址
print(list[i+1])
driver.find_element_by_css_selector("button.btn.btn-sm.btn-caret.btn-outline-dark6").click() #点击“将所有转换成按钮”
time.sleep(1) #习惯性等一下,不等应该也可以
format_choose_ele = driver.find_element_by_xpath("//div[@class='dropdown convert-all-to']//ul[@class='types']/li[2]") #定位"文档"
ActionChains(driver).move_to_element(format_choose_ele).perform() #鼠标悬停在一级目录"文档"上
driver.find_element_by_xpath("//ul/li[2]/span[text()='DOCX']").click() #点击"DOCX"按钮
driver.find_element_by_css_selector("button.btn.btn-xl.btn-primary").click() #点击转换按钮
该处使用的url网络请求的数据。
常见错误总结总结
提示:这里对文章进行总结:
InvalidSessionIdException,使用的定位方法错了,比如你使用CSS来定位元素,但你用的工具是Xpath;
NoSuchElementException,这里情况很多:比较常见的情况是:元素没有加载出来,;定位到的元素是错的;在网页上看上去是唯一的定位,其实不是;
StaleElementReferenceException,陈旧元素引入异常,页面可能发生了刷新,需要重新获取元素定位;
TimeoutException,超时错误,未在轮询时间内找到元素