2012-05-04 200 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")); 
相关问题