Python + Selenium でfileupload しないといけないことがあったので、調べたのですが、日本語だと古い記事しか見つからなかったので、メモ。
開発環境 MacOS Catalina, Python3
XPath でファイルアップロードのinput 属性を指定して、send_keys でファイルパスを渡せばよい。
# アップロードするファイルパス uploadfile = './file/uploadfile.pdf' # ファイルアップロード driver.find_element_by_xpath('//input[@type="file"]').send_keys(uploadfile) # ファイルアップロード をクリック driver.find_element_by_xpath('//*[@id="btn_upload"]/').click()
これが こうなって
あとは、ファイルアップロードボタンをクリック(最後の行)すればupload できます。