浏览器按钮未单击selenium Web驱动程序

时间:2012-11-23 09:38:34

标签: selenium selenium-webdriver

我正在做selenium webdriver。我有一些问题。如果我点击浏览按钮,那么应该显示popup.so我的应用程序没有点击而不是打开浏览器。

try{

    WebElement fileInput = driver.findElement(By.xpath("html/body/form[1]/p[2]/input"));

    fileInput.sendKeys("C:\\Documents and Settings\\mahesh\\Desktop\\button then display msg.png");

    System.out.println("valid");

    }

catch(NoSuchElementException ex) {

    System.err.println("invalid");

    }

我遇到了一个问题。

org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"html/body/form[1]/p[2]/input"}
Command duration or timeout: 30.06 seconds

这种错误即将到来。

所以请任何人指导我来解决这个问题。

感谢 mahesh.k

3 个答案:

答案 0 :(得分:0)

从上面的错误中,我认为它无法在您的网页上找到该元素...请交叉验证写入的Xpath表达式....

此外在发送密钥(文件路径)之前....执行单击按钮,打开弹出窗口...然后发送密钥...

以下是http://www.freeimagehosting.net/upload.php

上的C#代码
        IWebDriver driver = new InternetExplorerDriver();
        driver.Navigate().GoToUrl("http://www.freeimagehosting.net/upload.php");

        driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
        IWebElement returnedValue = driver.FindElement(By.Name("attached"));
        returnedValue.Click();
        returnedValue.SendKeys("C:\\file.png");

以上代码...在网页中查找“浏览”按钮,然后执行“单击”操作以弹出打开,然后发送“图像文件<”的路径/强>”。

我希望这有助于......一切顺利:)

答案 1 :(得分:0)

是的,它找不到元素。首先,您可以使用selenium IDE验证selenium webdriver可能找到的元素。下载firefox浏览器here的selenium IDE插件。 另一件需要注意的是你指定的xpath。 Selenium不识别xpath,除非你以“//”或“xpath =”开头,所以我会将你的元素搜索改为

WebElement fileInput = driver.findElement(By.xpath("//html/body/form[1]/p[2]/input"));

如果这不起作用,那么在Webdriver中搜索之前使用selenium IDE来验证元素的xpath。

答案 2 :(得分:0)

html / body / form [1] / p [2] / input - Absolute XPath

此XPath不会始终有效。使用&#34; id&#34;或&#34;名称&#34;输入标记中给出的属性。

请让我知道我的Funda是否工作过。