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

问题描述 投票:-2回答:2

我是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

有想法该怎么解决这个吗?

python selenium selenium-webdriver webdriver sendkeys
2个回答
0
投票

你首先需要导入“By”

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

0
投票

此错误消息...

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

...表示WebDriver实例无法通过您通过send_keys()发送的字符序列找到文件。

相关的HTML DOM将帮助我们以更好的方式调试您的问题。从您使用的Locator Strategy可以清楚地看出,预期的含量必须是type,如file。另外,有可能涉及JavaScript,如果所有内容都引用有效文件,则检查传递给元素的内容。


您需要使用send_keys()将有效文件作为参数传递,如下所示:

driver.find_element(By.XPATH, "//input[@type='file']").send_keys("/path/to/filename.extension")
© www.soinside.com 2019 - 2024. All rights reserved.