我是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
有想法该怎么解决这个吗?
你首先需要导入“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")
此错误消息...
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")