日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python sendkeys用法_Python Selenium 文件上传之SendKeys

發(fā)布時間:2023/12/8 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python sendkeys用法_Python Selenium 文件上传之SendKeys 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

昨天寫了Web 文件下載的ui自動化,下載之后,今天就要寫web 文件上傳的功能了。

當(dāng)然從折騰了倆小時才上傳成功。下面寫一下自己操作的步驟

首先網(wǎng)上說的有很多方法

如 input 標(biāo)簽的最好做了,直接定位到元素,然后再sendKeys("value")即可

奈何研發(fā)的同學(xué)做成了 readonly ?屬性的input ,好了學(xué)了一點,這種屬性的input就沒辦法 使用 sendkeys了。

只能換其他方法了,

#下面的方式?jīng)]有成功

#ActionChains(self.driver).send_keys(releaseFile).perform()

#Ctrl + a

#ActionChains(self.driver).key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform()

#self.driver.implicitly_wait(5)

#ActionChains(self.driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()

#self.driver.implicitly_wait(5)

#ActionChains(self.driver).key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()

#time.sleep(2)

#ActionChains(self.driver).key_down(Keys.ENTER).perform()

#self.driver.find_element_by_xpath(".//*[@id='file_name']").send_keys(releaseFile)

發(fā)現(xiàn)鼠標(biāo)實際操作的還是頁面,而不是彈出的文件選擇框,所以這種方式還是不行。

最后參考

Python selenium文件上傳方法匯總

http://www.jb51.net/article/92678.htm

使用了?SendKeys,因為其他方法有的需要安裝其他程序

首先要安裝SendKeys庫,可以用pip安裝

pip install SendKeys

安裝的過程遇到如下問題

此時需要到 http://aka.ms/vcpython27 ?下載

https://www.microsoft.com/en-us/download/details.aspx?id=44266

然后執(zhí)行安裝 sendkeys即可成功。

代碼如下

#-*-coding:utf-8-*-#Time:2017/7/1-15:47#Author:YangYangJun

#-*-coding:utf-8-*-import SendKeys

#點擊上傳 下載附件

time.sleep(2)

self.driver.find_element_by_xpath(".//*[@id='down_bar_code_template']").click()

self.driver.implicitly_wait(5)#releaseFile_Path = os.path.join(os.getcwd(),'test_data')

releaseFile = r'C:\PySpace\CMS\UiTest\test_data' + '\UI_Release01.xlsx'time.sleep(2)

self.driver.implicitly_wait(5)

self.driver.find_element_by_css_selector(".webuploader-pick").click()

time.sleep(2)#將路徑輸入

SendKeys.SendKeys(releaseFile)

time.sleep(2)#確定路徑輸入

SendKeys.SendKeys("{ENTER}")

time.sleep(2)#確定打開按鈕

SendKeys.SendKeys("{ENTER}")

time.sleep(2)

self.driver.implicitly_wait(5)#點擊上傳

self.driver.find_element_by_xpath(".//*[@id='file_upload_btn']").click()

time.sleep(6)#提示信息, 上傳成功

successTest = u"上傳商品成功!"get_reInfo= self.driver.find_element_by_xpath(".//*[@id='step_05']/ul/li[1]").textif successTest ==get_reInfo:print u"上傳成功!"

#點擊查看商品

self.driver.find_element_by_xpath(".//*[@id='view_goods']").click()

drugList= ['阿奇霉素片']#調(diào)用驗證及刪除函數(shù)

self.get_Verify(drugList)else:print u"上傳失敗!"

else:print u"進入賣家中心失敗"

效果如下圖

第一個 模擬回車是為了確認(rèn)輸入的文件路徑,第二個回車是為了確認(rèn)點擊打開按鈕。

至此文件的上傳功能就已經(jīng)完成了。

網(wǎng)上說這種方式有些不穩(wěn)定,有時間的話可以學(xué)習(xí)一下其他方法。

總結(jié)

以上是生活随笔為你收集整理的python sendkeys用法_Python Selenium 文件上传之SendKeys的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。