Ben*_*ole 20
您可以在不注入JavaScript的情况下执行此操作.您只需要掌握表单字段并输入即可.像(使用Ruby API):
driver.find_element(:id, 'upload').send_keys('/foo/bar')
Run Code Online (Sandbox Code Playgroud)
Ser*_*rov 10
您可以使用JavaScript设置输入字段的值.考虑到该字段的id是fileName以下示例,将设置文件输入的值C:\temp\file.txt:
String script = "document.getElementById('fileName').value='" + "C:\\\\temp\\\\file.txt" + "';";
((IJavaScriptExecutor)driver).ExecuteScript(script);
Run Code Online (Sandbox Code Playgroud)
在此示例中,driver是您的WebDriver实例.
请注意,\对于类似Windows的路径,您必须使用四个反斜杠(),因为您需要将两个反斜杠传递给JavaScript,因此您必须使用两个额外的斜杠来转义它们.另一种选择是使用正斜杠(例如"C:/tmp/file.txt"),这也应该有效.
对于C#,SendKeys()可以工作,但必须\在文件路径中使用,而不是/
例如,以下工作:
string filePath = @"drive:\path\filename.filextension";
driver.FindElement(By.Id("fileInput")).SendKeys(filePath);
Run Code Online (Sandbox Code Playgroud)
但是以下方法不起作用:
string filePath = "drive:/path/filename.filextension";
driver.FindElement(By.Id("fileInput")).SendKeys(filePath);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37376 次 |
| 最近记录: |