Man*_*Mkr 7 java selenium selenium-webdriver
这是场景.
当我使用GetSize(),GetLocation()函数对图像ID'FlashID1x'时它总是给出250,300,但元素的实际高度和宽度是1 X 1,这基本上是错误的.
这是我的目标dom:
<img id="FlashID1x" border="0" width="300" height="250" style="width:300px;height:250px;" alt="" src="http://s2.adform.net/Banners/invisible.gif?bv=2"/>
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
System.out.println("total : "+iframe.size());
//driver.switchTo().frame(frame);
org.openqa.selenium.Point point=driver.findElement(By.xpath(".//*[@id='FlashID1x']")).getLocation();
System.out.println("X Position : "+point.x);
System.out.println("Y Position : "+point.y);
System.out.println("X getX : "+point.getX());
System.out.println("Y gety : "+point.getY());
Rectangle pointer=driver.findElement(By.xpath(".//*[@id='FlashID1x']")).getRect();
System.out.println("height : "+pointer.hashCode();
System.out.println(" width : "+pointer.getWidth());
System.out.println("getHeight : "+pointer.getHeight());
System.out.println(" getWidth : "+pointer.getWidth());
Run Code Online (Sandbox Code Playgroud)
getSize方法返回呈现的Web元素大小,而不是图像的物理大小.如果你的目标是获得内在的高度和重量,那么你可以尝试获得naturalWidth和naturalHeight属性:
WebDriver driver = new FirefoxDriver();
WebDriverWait wait = new WebDriverWait(driver, 20);
driver.get("http://stackoverflow.com");
// get the intrinsic size with the getAttribute method
WebElement ele = driver.findElement(By.cssSelector("img"));
String naturalWidth = ele.getAttribute("naturalWidth");
String naturalHeight = ele.getAttribute("naturalHeight");
// get the intrinsic size with a piece of Javascript
ArrayList result = (ArrayList)((JavascriptExecutor) driver).executeScript(
"return [arguments[0].naturalWidth, arguments[0].naturalHeight];", ele);
Long naturalWidth2 = (Long)result.get(0);
Long naturalHeight2 = (Long)result.get(1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8197 次 |
| 最近记录: |