Мой скрипт Selenium до сегодняшнего дня работал нормально, последний раз использовался несколько дней назад. При попытке запустить скрипт мне пришлось обновить ChromDriver до 78.0.3904.70, так как эта версия была несовместима. Я думаю, потому что мой Chrome был обновлен (?).
После того, как я заменил chromedriver.exe, я попытался повторно запустить мой скрипт. Удивительно, но InvalidArgumentException возникает. Как я могу это исправить?
Код:
upload = browser.find_element_by_xpath("//html[@class=' no-touch']//body//div[@id='page-wrapper']//div[@class='l-page']//section//form[@id='syi-form']//div[@id='photo-upload']//div[@class='box-content']//div[@class='upload-wrapper']//div[@id='uploaders']//div[@id='uploader-container-0']//div[@id]//input[@id]")
print(upload) #Test if item is found
upload.click()
Ошибка:
<selenium.webdriver.remote.webelement.WebElement (session="a6af1cef2fb4a6fc81afeb10b9f9ad38", element="9bfb730f-984c-48d0-b5eb-077489f3a617")>
Traceback (most recent call last):
File "F:\Studie\Selenium\marktplaats.py", line 72, in <module>
upload.click()
File "C:\Users\Remco\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "C:\Users\Remco\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "C:\Users\Remco\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\Remco\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
(Session info: chrome=78.0.3904.87)
Элемент:
<div id="uploaders" class="uploaders" data-image-urls="" data-image-ids=""><div id="uploader-container-0" class="uploader-container small empty uploader-container--gray" data-uploader-index="0" style="position: relative;">
<div id="file-picker-0" class="uploader-box small" style="z-index: 1;">
<div class="thumb">
<div class="uploader-overlay">
<span class="photo-action edit-action" title="Foto aanpassen">
<span class="mp-Icon-circle"><span class="mp-Icon mp-svg-edit photo-action-icon"></span></span>
</span>
<span class="remove photo-action" title="Foto verwijderen">
<span class="mp-Icon-circle"><span class="mp-Icon mp-svg-delete photo-action-icon"></span></span>
</span>
</div>
</div>
<div class="content">
<div class="mp-svg-plus-circled-grey mp-Icon mp-Icon--xl"></div>
</div>
</div>
<input type="hidden" name="images.urls" value="">
<input type="hidden" name="images.ids" value="">
<div id="html5_1dp0s4cfd1ro81fcdg1g1hi05p4_container" class="moxie-shim moxie-shim-html5" style="position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; overflow: hidden; z-index: 0;"><input id="html5_1dp0s4cfd1ro81fcdg1g1hi05p4" type="file" style="font-size: 999px; opacity: 0; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%;" multiple="" accept=".jpg,.jpeg,.png" tabindex="-1"></div></div><div class="uploader-container uploader-container--gray uploader-container--disabled"><div class="uploader-box"></div></div><div class="uploader-container uploader-container--gray uploader-container--disabled"><div class="uploader-box"></div></div><div class="uploader-container uploader-container--gray uploader-container--disabled"><div class="uploader-box"></div></div><div class="uploader-container uploader-container--gray uploader-container--disabled"><div class="uploader-box"></div></div></div>