2012-05-04 247 views
1

我試圖找到一個標籤,這是一個PNG圖像。我有該標籤的來源。但我已經試過follwoing選項:無法找到使用webdriver的元素

1)

WebElement image = driver.findElement(By.id("x", "a")); 
String src = image.getAttribute("src"); 
src.contains("x.png"); 

2)

WebElement image = driver.findElement(By.name("x")); 

我無法做到發現it.its不是一個隱藏的元素,以及...任何輸入????將不勝感激......

+2

你爲什麼要叫'By.id'以2個參數的時候,只需要1?標籤的來源是什麼樣的? –

+2

^他說什麼。^...'By.id()'只接受一個參數,上面的代碼也不以任何方式使用'src.contains()'。你也可以在一行中得到它'By.xpath(「// img [contains(@ src,'x.png')]」)'。您是否嘗試過[隱式](http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebDriver.Timeouts.html)或[explicit](http:// selenium。 googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebDriver.Timeouts.html)[wait](http://seleniumhq.org/docs/04_webdriver_advanced.html#explicit-and-implicit-等待)?這是最常見的解決方案。 –

回答

1

請試試這個方法...

當我有這種類型的圖像標記,並認爲ID「Size50」是唯一

<img id="Size50" src="http://sp2010-sa/talk/harold/Photos/_t/Profile_jpg.jpg"/> 

硒將在這個搜索方式...

WebElement 圖像= Driver.findElement(By.TagName( 「IMG」))findElement(By.id( 「Size50」))。

上述代碼首先搜索所有圖片標籤,然後在圖片標籤內搜索帶有唯一標識「尺寸50」的標籤。

如果ID「Size50」是頁面上唯一那麼我們就可以直接寫出下面

WebElement image=Driver.findElement(By.id("Size50")); 
相關問題