selenium.common.exceptions.InvalidArgumentException:消息:无效参数:使用Selenium调用send_keys()时找不到文件错误

时间:2019-03-13 07:07:50

标签: python selenium selenium-webdriver webdriver sendkeys

我是Selenium自动化测试的新手,我只是想通过在网页上的文本框中键入“ 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 :(得分:0)

您首先需要导入“按”

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")

答案 1 :(得分:0)

此错误消息...

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

...表示 WebDriver 实例无法通过您通过{{1}发送的字符序列找到文件 }。

相关的index types本可以帮助我们以更好的方式调试您的问题。从HTML DOM仍然可以清楚地看到,您所期望的内容必须是send_keys() type 。另外,有可能使用Locator Strategy来检查传递给元素的 contents ,如果 contents 完全引用了 valid 文件


解决方案

您需要使用file传递有效的 file 作为参数,如下所示:

send_keys()