Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 在webdriver中使用箭头标记上载文件_File_Selenium Webdriver_Upload - Fatal编程技术网

File 在webdriver中使用箭头标记上载文件

File 在webdriver中使用箭头标记上载文件,file,selenium-webdriver,upload,File,Selenium Webdriver,Upload,我必须在应用程序中上载excel文件。为此,我需要单击一个箭头标记(即浏览按钮),它将打开弹出窗口,供用户从本地驱动器中选择文件。下面是我检查箭头标记上的元素时显示的代码。 “” 此外,在用户选择文件之前,选择文件后显示的路径将变灰。只有当用户从本地选择某个文件时,才会启用此选项 我尝试下面的代码,但它没有工作。我认为发送键是错误的选择,因为文本路径是灰色的 帮我做这个 WebElement El = driver.findElement(By.id("'uploadInp'")); d

我必须在应用程序中上载excel文件。为此,我需要单击一个箭头标记(即浏览按钮),它将打开弹出窗口,供用户从本地驱动器中选择文件。下面是我检查箭头标记上的元素时显示的代码。 “”

此外,在用户选择文件之前,选择文件后显示的路径将变灰。只有当用户从本地选择某个文件时,才会启用此选项

我尝试下面的代码,但它没有工作。我认为发送键是错误的选择,因为文本路径是灰色的

帮我做这个

WebElement El = driver.findElement(By.id("'uploadInp'"));
    driver.findElement(By.id("uploadInp")).click();
    El.sendKeys("D:\\NTN 4\\Demo\\BulkCart_Template.xlsx");
箭头HTML代码:-

<input id="file1" type="file" value="" style="background-color: red;opacity:0;filter:alpha(opacity=0);cursor: pointer; padding-top:3px;width:25px;" name="file">

您无需单击浏览器按钮或打开任何弹出窗口
sendkeys
将为您在HTML DOM中转储路径

因此,在使用相同的按钮元素执行
sendkeys
时,不要单击浏览器按钮,如下所示:-

WebElement El = driver.findElement(By.id("'uploadInp'"));
El.sendKeys("D:\\NTN 4\\Demo\\BulkCart_Template.xlsx");
现在,您需要单击要开始上载的元素。正如你没有提到的,根据你的问题,不清楚哪个元素将上传你的文件。只需找到该元素并正常单击即可


希望它能帮助您:)

谢谢您的意见。我想我在原始问题中复制粘贴了下面的内容。不管怎样,下面是我在检查箭头标记上的元素时得到的代码。" ". 但我得到的错误是“无法定位元素”您使用什么代码来查找该元素。。。这个元素之间的HTML dom上是否存在任何框架?我正在尝试按ID使用该元素。。没有涉及任何帧。driver.findElement(By.id(“file1”))。单击();在HTML DOM中是否有更多相同id的元素?