0

调试时,以下代码有效。但是当我让它进行测试时,它会显示一个错误。为了解决这个错误,我添加了一个 java 脚本(来自另一个问题的例子)来改变不透明度,但这似乎并没有奏效。

上传部分代码:

//File Details
 FileName = "EMED.pdf";

 FilePath = "\\\\iasfs1\\QA\\OpenSpace\\Automation\\FilesForUpload\\EMED.pdf";

//File Upload
WaitForElementPresent(By.Id("upload"));
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("document.getElementById('FileUpload').style.opacity = 1;");''

IWebElement fileUpload = driver.FindElement(By.Id("FileUpload"));
Console.Write("fileUpload.Displayed : " + fileUpload.Displayed.ToString());
Debug.WriteLine("fileUpload.Displayed : " + fileUpload.Displayed.ToString());
System.Diagnostics.Trace.WriteLine("fileUpload.Displayed : " +       fileUpload.Displayed.ToString());

fileUpload.SendKeys(OSData.FilePath);'

显示错误 消息:OpenQA.Selenium.ElemenyNotVisibleException:元素当前不可见,因此可能无法与之交互。

对上述任何帮助将不胜感激

先感谢您

4

2 回答 2

1

您说它适用于调试,但不能完全运行?

发生这种情况的 99% 是因为等待问题。

您正在等待元素出现但不等待它可见,这解释了错误 (NotVisibleException)。尝试等待元素可见。

于 2013-08-13T15:05:03.013 回答
-1

而不是SendKeys尝试使用 js 设置所需的值

于 2013-08-13T12:21:00.293 回答