Selenium WebdriverPythonでファイルをアップロードする

フィル

このページの方法を試しました:PythonでSeleniumを使用してファイルをアップロードする

コード:

file_button = browser.find_element_by_id('fileUploadProxy')
file_button.send_keys('/Users/home/Downloads/1-Students-and-Parent-Email.csv')

しかし、次のエラーが発生します。

Traceback (most recent call last):
  File "test.py", line 110, in <module>
    upload_students_results('Surname, Name')
  File "test.py", line 91, in upload_students_results
    file_button.send_keys('/Users/home/Downloads/1-Students-and-Parent-Email.csv')
  File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webelement.py", line 349, in send_keys
'value': keys_to_typing(value)})
  File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webelement.py", line 493, in _execute
return self._parent.execute(command, params)
  File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 249, in execute
self.error_handler.check_response(response)
  File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 193, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot focus element
  (Session info: chrome=58.0.3029.96)
  (Driver info: chromedriver=2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.12.4 x86_64)
alecxe

問題はdiv、「対話可能」ではない要素にキーを送信しているため、キーを受け入れないため、「要素にフォーカスできません」というエラーが発生することです。

リンクしたソリューションの背後にある考え方は、ファイルのアップロードを担当するinput要素にキーを送信することtype="file"ですHTMLでこの要素を見つけて、キーを送信します。

この要素は非表示になる可能性があることに注意してください。このケースでは、最初にすべきことが見えるようにするためにsend_keys()作業します。


更新:

さて、これで少なくともどの要素が目的の要素であるかがわかりました。

<input type="file" name="fileToUpload" id="fileToUpload2" class="fileToUpload">

この要素を見つけるのに問題があるので、それを待ってみてください

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


file_upload = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "fileToUpload2"))
)
file_upload.send_keys('/Users/home/Downloads/1-Students-and-Parent-Email.csv')

または/および、この要素が内部にあるかどうかを確認します。内部にあるiframe場合は、のコンテキストに切り替えてからiframe、要素検索を実行する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Selenium webdriverpythonはファイルをアップロードできません-send_keysはElementNotInteractableをスローします

分類Dev

ポップアップをバイパスするFirefoxでファイルをダウンロード:Selenium Python

分類Dev

Seleniumを使用して画像ファイルをアップロードする

分類Dev

Selenium WebDriver:複数のファイルをアップロードする

分類Dev

SeleniumファイルをMicrosoftEdgeにアップロードする方法

分類Dev

Selenium WebDriver で Firefox のアップロード ファイル ウィンドウを処理する方法 - Java

分類Dev

PythonでSeleniumを使用してファイルをアップロードする方法

分類Dev

Selenium:Seleniumでforループを使用してファイルをアップロードできません

分類Dev

Seleniumでファイルをアップロードできない

分類Dev

Selenium-ファイルをiframeにアップロード

分類Dev

Selenium WebDriverを使用してWindowsファイルのアップロードを処理する方法

分類Dev

Selenium Webdriver:相対パス(javascript)を使用してファイルをアップロードする方法

分類Dev

Selenium IDEV2.9.0を使用してファイルをアップロードする方法

分類Dev

Seleniumfile_detectorがSeleniumグリッドにアップロードするファイルを見つけることができません

分類Dev

Python + Seleniumを使用してファイルをアップロードするにはどうすればよいですか?

分類Dev

JavaによるSelenium WebDriverでJava Robot APIを使用するファイルアップロードの1つのソリューション

分類Dev

Python Selenium Webdriverを使用してChromeでデフォルトプロファイルをロードする方法

分類Dev

Selenium JavaでsendKeys()を使用して「参照」ボタンにファイルをアップロードできない

分類Dev

Seleniumを使用してファイルをアップロードできません

分類Dev

Selenium WebdriverPython無効なドロップダウンから選択した値を取得する方法

分類Dev

Selenium IDE、アップロードされるファイルのパスは相対パスになります。

分類Dev

Selenium-WebDriverを使用したAutoItによる複数ファイルのアップロード

分類Dev

PythonでSeleniumを使用してファイルをダウンロードするループ

分類Dev

PHPでSeleniumにファイルをアップロードするにはどうすればよいですか?ファイルは1つだけであると予想されます。ありました:0

分類Dev

Python / Seleniumを使用してDojoFileUploaderを介してファイルをアップロードするWebオートメーション

分類Dev

Seleniumを使用してIEでファイルをダウンロードする

分類Dev

Selenium WebDriverとJUnitを使用して、ブラウザにローカルファイルをドラッグアンドドロップしますか?

分類Dev

Python、Selenium、PhantomJSでファイルをダウンロードする方法

分類Dev

Selenium SafariとPythonを使用してinputタグを介してファイルをアップロードする方法

Related 関連記事

  1. 1

    Selenium webdriverpythonはファイルをアップロードできません-send_keysはElementNotInteractableをスローします

  2. 2

    ポップアップをバイパスするFirefoxでファイルをダウンロード:Selenium Python

  3. 3

    Seleniumを使用して画像ファイルをアップロードする

  4. 4

    Selenium WebDriver:複数のファイルをアップロードする

  5. 5

    SeleniumファイルをMicrosoftEdgeにアップロードする方法

  6. 6

    Selenium WebDriver で Firefox のアップロード ファイル ウィンドウを処理する方法 - Java

  7. 7

    PythonでSeleniumを使用してファイルをアップロードする方法

  8. 8

    Selenium:Seleniumでforループを使用してファイルをアップロードできません

  9. 9

    Seleniumでファイルをアップロードできない

  10. 10

    Selenium-ファイルをiframeにアップロード

  11. 11

    Selenium WebDriverを使用してWindowsファイルのアップロードを処理する方法

  12. 12

    Selenium Webdriver:相対パス(javascript)を使用してファイルをアップロードする方法

  13. 13

    Selenium IDEV2.9.0を使用してファイルをアップロードする方法

  14. 14

    Seleniumfile_detectorがSeleniumグリッドにアップロードするファイルを見つけることができません

  15. 15

    Python + Seleniumを使用してファイルをアップロードするにはどうすればよいですか?

  16. 16

    JavaによるSelenium WebDriverでJava Robot APIを使用するファイルアップロードの1つのソリューション

  17. 17

    Python Selenium Webdriverを使用してChromeでデフォルトプロファイルをロードする方法

  18. 18

    Selenium JavaでsendKeys()を使用して「参照」ボタンにファイルをアップロードできない

  19. 19

    Seleniumを使用してファイルをアップロードできません

  20. 20

    Selenium WebdriverPython無効なドロップダウンから選択した値を取得する方法

  21. 21

    Selenium IDE、アップロードされるファイルのパスは相対パスになります。

  22. 22

    Selenium-WebDriverを使用したAutoItによる複数ファイルのアップロード

  23. 23

    PythonでSeleniumを使用してファイルをダウンロードするループ

  24. 24

    PHPでSeleniumにファイルをアップロードするにはどうすればよいですか?ファイルは1つだけであると予想されます。ありました:0

  25. 25

    Python / Seleniumを使用してDojoFileUploaderを介してファイルをアップロードするWebオートメーション

  26. 26

    Seleniumを使用してIEでファイルをダウンロードする

  27. 27

    Selenium WebDriverとJUnitを使用して、ブラウザにローカルファイルをドラッグアンドドロップしますか?

  28. 28

    Python、Selenium、PhantomJSでファイルをダウンロードする方法

  29. 29

    Selenium SafariとPythonを使用してinputタグを介してファイルをアップロードする方法

ホットタグ

アーカイブ