Javascript 使用Webdriver上载文件:sendKeys()之后不会发生任何事情
我正在尝试通过SeleniumWebDriver自动上传文件 我在stackoverflow上阅读了很多关于这个主题的问题,并使用了这里给出的所有提示,我的代码实际上正在测试页面上运行: 但我不能让它在我真正的项目上工作。 首先-我的输入字段是不可见的,因此我使用以下方法使其可见:Javascript 使用Webdriver上载文件:sendKeys()之后不会发生任何事情,javascript,java,html,selenium,Javascript,Java,Html,Selenium,我正在尝试通过SeleniumWebDriver自动上传文件 我在stackoverflow上阅读了很多关于这个主题的问题,并使用了这里给出的所有提示,我的代码实际上正在测试页面上运行: 但我不能让它在我真正的项目上工作。 首先-我的输入字段是不可见的,因此我使用以下方法使其可见: js.executeScript("arguments[0].setAttribute('style', arguments[1])",element, "opacity:100; width:50px"); 我验
js.executeScript("arguments[0].setAttribute('style', arguments[1])",element, "opacity:100; width:50px");
我验证了该字段确实变得可见。
然后通过sendKeys()方法发送文件的绝对路径:
但当我尝试检查字段的值时:
String v=elem.getAttribute("value");
它总是空的
我试图向文件发送不正确的路径,但这段代码给了我一个错误——不是绝对路径,所以它确实试图向输入字段发送一些内容
我想这与测试网页的代码有关,但我没有足够的知识来分配问题
输入元素的HTML代码如下所示:
<input type="file" data-bind="attr: {id: uid, name: inputName, multiple: isMultipleFiles}, disable: disabled, afterRender: onElementRender">
以下代码在C中对我有效# 在命名空间中使用System.Windows.Forms;“添加
”
在参考中添加“System.Windows.Form”
,您可能会发现这是因为文件路径无效。确保:
- 这条路是正确的
- 该文件存在且可读
- 路径已满且不是相对路径
- 绝对路径(不包含..)
- 你的斜杠正朝着操作系统的正确方向前进(有些浏览器在意,有些不在意)
我发现,当我引入一个..时,这个功能就悄悄地停止了工作。。进入小路
<input type="file" data-bind="attr: {id: uid, name: inputName, multiple: isMultipleFiles}, disable: disabled, afterRender: onElementRender">
SendKeys.SendWait(@"D:\filename");
SendKeys.SendWait(@"{Enter}");