selenium.common.exceptions.InvalidArgumentException: Сообщение: недопустимый аргумент: Ошибка файла не найдена, вызывая send_keys () с использованием Selenium - PullRequest
0 голосов
/ 13 марта 2019

Я новичок в Selenium Automated Testing, и я просто пытаюсь выполнить простую задачу, набрав "hi" в текстовом поле на веб-странице.

Мой код выглядит следующим образом:

input = driver.find_element(By.XPATH, "//input[@type='file']")
input.send_keys('hi')

Но когда я запускаю код, я получил эту ошибку:

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: File not found : hi

Есть идеи, как это исправить?

Ответы [ 2 ]

0 голосов
/ 14 марта 2019

Это сообщение об ошибке ...

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: File not found

... означает, что экземпляру WebDriver не удалось найти файл в последовательности символов , которую вы отправили через send_keys().

Соответствующий HTML DOM помог бы нам лучше отладить вашу проблему. Тем не менее из использованной вами стратегии Locator ясно, что ожидаемое содержание должно быть type как file. Кроме того, возможно, существует JavaScript , который проверяет содержимое , переданное элементу, если вообще содержимое относится к действительное файл .


Решение

Вам нужно передать действительный файл в качестве аргумента с send_keys() следующим образом:

driver.find_element(By.XPATH, "//input[@type='file']").send_keys("/path/to/filename.extension")
0 голосов
/ 13 марта 2019

Сначала необходимо импортировать «По»

from selenium.webdriver.common.by import By
input=driver.find_element(By.XPATH, '//input[@type="file"]')
input.send_keys("hi")

Вы также можете написать его (хотя это и не предложенный метод)

from selenium.webdriver.common.by import By
driver.find_element(By.XPATH, '//input[@type="file"]').send_keys("hi")
...