実現したいこと
seleniumの勉強をしようと思いECサイトに自動で出品登録してみようと思いました。
InvalidArgumentExceptionエラーが出てしまいます。
python
1from selenium import webdriver 2import chromedriver_binary 3from selenium.webdriver.common.by import By 4from selenium.webdriver.common.keys import Keys 5from time import sleep 6 7 8#ログイン設定 9options = webdriver.ChromeOptions() 10 11options.add_argument( 12 '--user-data-dir=/○○○○') 13options.add_argument('--○○○○') 14driver = webdriver.Chrome(options=options) 15driver.get("https://www.mercari.com/jp/") 16 17 18sleep(3) 19# 出品ボタンクリック 20driver.find_element_by_link_text("出品").click() 21 22sleep(3) 23 24 25# 画像をアップロード 26driver.find_element_by_xpath("//input[@type='file']").send_keys("C:/Users/ユーザー名/OneDrive/デスクトップ/テスト画像/abc.jpg") 27 28 29# ブラウザを終了する 30driver.close()
このコードを走らせると
1.ECサイトにアクセス
2. 出品ボタンのクリック
3. 商品登録画面(https://www.mercari.com/jp/sell)
ここまでは動くのですが
python
1driver.find_element_by_xpath("//input[@type='file']").send_keys("C:/Users/ユーザー名/OneDrive/デスクトップ/テスト画像/abc.jpg")
上記の画像をアップロードする部分で
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
というエラーが出てしまいます。
おそらく下記のHTML部分が該当する場所だと思うのですがこれが正しいかどうかも怪しいです。
HTML
1<div data-test="sell-upload-container" class="sc-gleUXh jgfTSa"> 2 <div tabindex="0" class="sc-ivVeuv fYAXaB"> 3 <div class="sc-cCbXAZ eCHZTq"><input accept="image/png,image/jpeg" multiple="" type="file" autocomplete="off" tabindex="-1" class="sc-fHSTwm eblgyK" style="display: none;"> 4 ・・・ 5 ドラッグアンドドロップ<br>またはクリックしてファイルをアップロード</p> 6 </div> 7 </div> 8</div>
こちらのエラー内容についてご教授して頂けないでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。