2012-11-23 64 views
2

我在做硒webdriver。我有一些問題。如果我點擊瀏覽按鈕,然後應顯示popup.so我的應用程序不單擊和不打開瀏覽器。瀏覽器按鈕沒有點擊硒web驅動程序

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

+0

Plz分享您的HTML代碼,以便我可以更具體地幫您 –

+0

我想補充一點,在執行sendKeys()操作之前,最好使用.clear()方法清除輸入字段 –

回答

0

從上面的錯誤,我認爲這是無法找到網頁上的元素......做交叉驗證的書面XPath表達式....

而且在發送前按鍵(文件路徑)......做執行點擊在其打開彈出按鈕......然後發送鍵...

這裏是http://www.freeimagehosting.net/upload.php

 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"); 
工作的C#代碼

上面的代碼...在網頁中查找瀏覽按鈕,然後執行「點擊」操作彈出到打開,然後發送「圖像文件」的路徑。

我希望這可以幫助...一切順利:)

0

是的,它沒有找到元素。首先,您可以使用selenium IDE驗證selenium webdriver可能找到哪些元素。下載適用於Firefox瀏覽器的selenium IDE插件here。 另一件需要注意的就是你指定的xpath。除非你開始以「//」或「的XPath =」所以我會改變你的元素搜索

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

硒不能識別的XPath如果不工作,然後用硒IDE搜索之前驗證元素的XPath它在Webdriver中。

0

HTML /體/形式[1]/P [2] /輸入 - 絕對的XPath

此XPath並不總是可行的。使用輸入標籤中給出的「id」或「name」屬性。

請讓我知道我的Funda工作。

相關問題