python
  • file
  • selenium
  • xpath
  • upload
  • 2017-12-16 18 views -2 likes 
    -2

    私はリモートPCでブラウザを起動し、そのリモートPCのローカルフォルダからZipファイルをWebアプリケーションにインポートしたいとします。インポートボタンをクリックすると、そのフレームのxpathを表示しないファイルアップロードにリダイレクトされます。私は、Python Seleniumでファイルをアップロードするにはどうすればよいですか?

    importbutton=driver.find_element_by_xpath(".//*@id='templateUploadButton_label']/img") 
    importbutton.send_keys("C:/../pathtofile") 
    

    をインポート]ボタンのXPathを取得し、以下のような、そのオブジェクトにそのローカルファイルパスのsend_keysを使用しようとしたが、それは私が実行すると、しかし、私は、この

    selenium.common.exceptions.WebDriverException: Message: unknown error: cannot focus element

    のようなエラーが発生しますimportbutton.click()は、ファイルアップロードフレームを開きます。

    手作業の手順:インポートをクリックしてファイルのアップロードフレームを開くと、ローカルパスを選択して[開く]をクリックします。アップロードを続行できる場合はダイアログボックスが表示され、YESを押します。

    答えて

    0
    .//*@id='templateUploadButton_label']/img 
    

    あなたはimg要素、ないinputにキーを送信しようとしている - ので、エラー。

    inputの要素をtype="file"に設定するようにロケータを変更してください。

    +0

    こんにちは、私は今正しいものを取って、それは私がサーバーからドライバを起動したときに動作し、ファイルパスはサーバーのパスです。しかし、リモートでドライバを起動すると、File Not Foundエラーが表示されます。 C:とDesktopの下の場所に変更しましたが、ファイルがアップロードされていません。 – Elshadai

    関連する問題