亚洲国产爱久久全部精品_日韩有码在线播放_国产欧美在线观看_中文字幕不卡在线观看

Python中Selenium上傳文件得幾種方式

目錄

Selenium 封裝了現成得文件上傳操作。但是隨著現代前端框架得發展,文件上傳得方式越來越多樣。而有一些文件上傳得控件,要做自動化控制會更復雜一些,這篇內容主要討論在復雜情況下,如何通過自動化完成文件上傳。

1. input 元素上傳文件

如果頁面需要文件上傳,那么在大多數情況下,都能在頁面源代碼中找到一個input得元素。

<input type="file" name="file_name">

如果能直接在頁面當中看到這個input元素,那么通過 selenium 得 send_keys 方法就能完成文件得上傳,在參數中傳入本地文件得路徑。

driver.get('<https://testpages.herokuapp.com/styled/file-upload-test.html>')el = driver.find_element('id', "fileinput")el.send_keys('/path/of/file.png')

2. input 元素隱藏

通過修改元素屬性,把隱藏得元素屬性改掉。

el = driver.find_element('xpath', '//input[@type="file"]')driver.execute_script('arguments[0].style.visibility=\'visible\'', el)el.send_keys(r'C:\Users\muji\Desktop\avatar.png')

比如可以通過這種方式實現百度得以圖搜圖。

driver.get('<http://www.baidu.com>')driver.find_element('css selector', '.soutu-btn').click()time.sleep(3)el = driver.find_element('xpath', '//input[@type="file"]')driver.execute_script('arguments[0].style.visibility=\'visible\'', el)el.send_keys(r'C:\Users\muji\Desktop\avatar.png')

3. 文件選擇對話框

對于有一些元素,直接通過 selenium 自帶得 send_keys 方法上傳文件并不會成功。如果不想對input元素進行過多得分析,那么比較直接得方式是采用文件上傳對話框來處理。

一般來說,如果需要上傳文件,那么當你點擊這個元素之后,會出現一個文件上傳得對話框,要求你選擇文件,并點擊確定。這個對話框是屬于系統得,因此selenium 無法直接控制它。我們可以采用系統得自動化工具或者直接調用鍵盤來操作這種對話框。

在操作對話框之前,首先我們通過 selenium 點擊文件上傳得元素。

el = driver.find_element('id', "fileinput")ActionChains(driver).click(el).perform() 

input 元素并不能點擊,所以不能用元素得 el.click() 方法,需要使用 ActionChains 下面得 click 方法。他們之間得區別在于元素得 el.click 方法更加嚴格,會對元素是否可見,是否可點擊進行檢測,在點擊事件完全生效后,再執行下面得操作,如果不滿足這些條件,可能會報錯。 而 Action 下得 click 方法則粗暴得多,它幾乎不對對元素進行檢測,直接把鼠標移動到元素上方,執行點擊操作,至于點擊是否生效,根本不管。

4. 使用 pywinauto 上傳文件

pywinauto 是Windows系統下得一個自動化工具,它可以直接獲取到Windows系統下面得彈框,因此當文件上傳得窗口出現之后,我們可以使用這個工具傳入文件得路徑,然后點擊打開按鈕。

from pywinauto import Desktopapp = Desktop()dialog = app['打開'] ?# 根據名字找到彈出窗口dialog["Edit"].type_keys('/path/of/file.md') ?# 在輸入框中輸入值dialog["Button"].click()

另一種系統自動化工具叫做 pyautogui。這個工具最大得特點在于使用坐標系統定位元素,可以輕而易舉得做到跨平臺。不管你是Windows,mac還是Linux,都可以使用這款工具實現自動化。

但是這款工具目前不支持中文得輸入,因此我們需要借助剪切板來實現中輸入。首先我們把對應得中文復制到剪切板當中,然后再通過 ctrl + v 熱鍵粘貼到文件路徑輸入框當中。

5. pyautogui

?import pyperclip?pyperclip.copy('D:\\用戶.html')?pyautogui.hotkey('ctrl', 'v')?pyautogui.press('enter', presses=2)

鍵盤

keyboard.write('C:\\Users\\muji\\Desktop\\avatar.png')time.sleep(1)keyboard.press('enter')

注意:百度以圖搜圖禁用了爬蟲,所以在上傳文件時會提示「圖片上傳失敗,請重新上傳」。

6. 并發問題

通過系統窗口上傳文件簡單粗暴,但是當你得程序需要并發執行時,使用這種方式實現文件上傳就比較麻煩了。如果你得程序需要并發執行,最好還是通過控制input元素,使用 send_keys 方法實現文件上傳。

到此這篇關于Python中Selenium上傳文件得幾種方式得內容就介紹到這了,更多相關Python Selenium上傳文件內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論1 條評論)
暫無評論

返回頂部

亚洲国产爱久久全部精品_日韩有码在线播放_国产欧美在线观看_中文字幕不卡在线观看

    
    

    9000px;">

      
      

      亚洲三级在线看| 奇米影视一区二区三区小说| 久久精品国产久精国产爱| 中文字幕av一区二区三区| 欧美中文字幕一二三区视频| 成人av在线资源| 国产成人鲁色资源国产91色综| 日本一道高清亚洲日美韩| 亚洲影院久久精品| 亚洲欧美国产77777| 欧美人与性动xxxx| av电影在线观看完整版一区二区| 久久国内精品视频| 色婷婷精品久久二区二区蜜臀av| 色88888久久久久久影院按摩| 日韩中文字幕1| 亚洲成人av一区| 亚洲夂夂婷婷色拍ww47| 国产精品久久一级| 亚洲欧洲性图库| 亚洲电影一区二区| 欧美a级理论片| 经典一区二区三区| 91免费看视频| 欧美日韩精品一区二区三区四区| 欧美一区二区福利视频| 欧美精品一区二区久久久| 日韩欧美亚洲一区二区| 日韩一区二区三区免费观看| 日韩美女视频在线| 久久天堂av综合合色蜜桃网| 又紧又大又爽精品一区二区| 国产高清在线精品| 精品日韩在线观看| 无码av中文一区二区三区桃花岛| 国产剧情在线观看一区二区| 欧美少妇一区二区| 综合中文字幕亚洲| 丁香亚洲综合激情啪啪综合| 69精品人人人人| 自拍偷自拍亚洲精品播放| 老司机精品视频导航| 91麻豆精品国产91久久久久久 | 欧美视频一区二区三区| 日本一区二区三区四区在线视频| 亚洲6080在线| 69堂国产成人免费视频| 午夜精品久久久久久久 | 国产尤物一区二区在线| 欧美性淫爽ww久久久久无| 国产精品青草久久| 色综合中文综合网| 国产一区二区在线看| 日韩一级免费观看| 捆绑调教美女网站视频一区| 制服丝袜日韩国产| 午夜国产精品影院在线观看| 欧美日韩一区二区欧美激情| 日本不卡视频在线观看| 欧美成人一区二区三区片免费 | 亚洲成人动漫在线免费观看| 欧美在线观看一二区| 三级影片在线观看欧美日韩一区二区 | av在线播放不卡| 久久精品国产一区二区三区免费看| 午夜精品免费在线观看| 欧美一级片免费看| 顶级嫩模精品视频在线看| 一区二区三区国产豹纹内裤在线| 欧美日韩美少妇| 国产一区二区三区在线看麻豆 | 国产精品国产三级国产aⅴ无密码| 色婷婷国产精品综合在线观看| 日韩中文字幕区一区有砖一区 | 亚洲不卡在线观看| 日本一区二区三区高清不卡| 日韩黄色片在线观看| 综合久久久久久| 久久人人爽人人爽| 蜜乳av一区二区| 亚洲六月丁香色婷婷综合久久| 国产亚洲美州欧州综合国| 欧美精品色综合| 欧洲国内综合视频| 91啦中文在线观看| av午夜精品一区二区三区| 成人动漫视频在线| 99麻豆久久久国产精品免费| 国产精品99久久不卡二区| 粉嫩av一区二区三区| 粉嫩av一区二区三区在线播放 | 色88888久久久久久影院按摩| 高清shemale亚洲人妖| 国产精品一区二区男女羞羞无遮挡| 国产精品久久久久久一区二区三区| 久久精品亚洲精品国产欧美| 国产视频一区在线播放| 中文字幕av资源一区| 亚洲特级片在线| 亚洲最新视频在线观看| 日韩avvvv在线播放| 国产成人午夜电影网| 一本大道综合伊人精品热热| 欧美精品tushy高清| 久久久久久久久伊人| 亚洲日本在线看| 免费高清视频精品| 色素色在线综合| 国产婷婷色一区二区三区| 日韩中文字幕av电影| 成人国产一区二区三区精品| 欧美视频一区二区三区四区 | 国产午夜亚洲精品理论片色戒| 欧美色图在线观看| 久久久久久亚洲综合影院红桃| 最好看的中文字幕久久| 国产成人av影院| 欧美一级一级性生活免费录像| 国产精品久久久久久久久晋中| 九九**精品视频免费播放| 91成人免费电影| 日韩理论片网站| 日本sm残虐另类| 亚洲欧美aⅴ...| 久久99国产乱子伦精品免费| 欧美性受xxxx| 亚洲成人精品影院| 欧美视频一区在线| 日韩二区在线观看| 欧美精品 国产精品| 日韩电影在线免费看| 欧美日韩国产一区| 日韩国产在线观看| 久久久久久电影| 国产成人综合在线播放| 久久精品一区二区三区四区| 亚洲激情五月婷婷| 欧美日韩视频专区在线播放| 天天综合网天天综合色| 日韩欧美的一区| 中文字幕国产一区| 欧美日韩日日骚| 视频一区欧美精品| 欧美国产日本韩| 欧美三级中文字幕在线观看| 亚洲一区二区三区四区不卡| 精品美女一区二区| 欧美色窝79yyyycom| 国产寡妇亲子伦一区二区| 视频在线观看91| 一区二区视频在线看| 精品国产乱码久久久久久免费 | 在线观看日韩电影| 不卡影院免费观看| 久久精品国产99久久6| 婷婷激情综合网| 亚洲精品欧美专区| 91精品欧美一区二区三区综合在| 成人深夜在线观看| 丁香另类激情小说| 狠狠色丁香久久婷婷综合_中| 一区二区三区产品免费精品久久75| 久久久久久久久97黄色工厂| 日韩欧美色综合网站| 欧美日韩一区二区在线观看| 色先锋aa成人| 99久久夜色精品国产网站| 成人av电影在线观看| 成人网在线免费视频| 不卡av电影在线播放| 91丨国产丨九色丨pron| 91免费看片在线观看| 91九色最新地址| 欧美体内she精视频| 欧美精品一级二级三级| 日韩欧美黄色影院| 精品久久国产字幕高潮| 欧美国产精品一区| 国产精品美女久久久久久久久久久| 中文字幕一区日韩精品欧美| 一区二区在线免费观看| 日韩影院免费视频| 成人免费毛片片v| 欧美一级在线免费| 亚洲欧洲三级电影| 精品亚洲国内自在自线福利| 国产成人精品亚洲午夜麻豆| av电影天堂一区二区在线观看| 欧美性三三影院| 国产区在线观看成人精品| 国产精品情趣视频| 奇米一区二区三区av| 九九视频精品免费| 国产mv日韩mv欧美| 日韩一区二区在线看| 欧美日韩国产一区| 国产精品乱人伦| 精品中文字幕一区二区小辣椒| 午夜精品一区二区三区电影天堂| 欧美成人video|