2017-08-03 20 views
0

私はSelenium WebDriverを使用し、Javaでコーディングしています。コードでは、Webページの特定の要素までスクロールしてクリックする必要があります。 JavascriptExecutorコマンドを使用しています。私の質問は、どのように私はその特定の要素の正確なxとyの座標をウェブページ内の位置ごとに知ることになるでしょう。私が使っているコードの構文は以下のとおりである:私はxの特定の値と私はクリックする要素のy座標を与える必要があり、上記のコードの2行目にWebページの要素のx、y座標を取得する方法は?

JavascriptExecutor jse = (JavascriptExecutor) driver; 
jse.executeScript("scroll(x,y)"); 

+1

[HTML要素の位置(X、Y)を取得]の可能な複製(https://stackoverflow.com/questions/442404/retrieve-the-position-xy-of-an-html-element) –

答えて

1

座標の代わりに要素自体を参照することをお勧めします。

((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", element); 

は、この情報がお役に立てば幸いです。ありがとう。

2

あなたはJavaのセレンを使用して座標を取得することができ、

webElement.getLocation().getX(); 
webElement.getLocation().getY(); 
0

Santoshあなたは要素の参照を使用してスクロールしなければならない権利です。それでもあなたは、座標は、コードの下に使用を取得する場合: - あなたは、コードの下に使用することができます

: -

@Test 
public void getCoordinates() throws Exception { 
    //Locate element for which you wants to retrieve x y coordinates. 
     WebElement Image = driver.findElement(By.xpath("//img[@border='0']")); 
     //Used points class to get x and y coordinates of element. 
     Point classname = Image.getLocation(); 
     int xcordi = classname.getX(); 
     System.out.println("Element's Position from left side"+xcordi +" pixels."); 
     int ycordi = classname.getY(); 
     System.out.println("Element's Position from top"+ycordi +" pixels."); 
} 

ソース: -

http://www.maisasolutions.com/blog/How-o-get-X-Y-coordinates-of-element-in-Selenium-WebDriver

0

ここでは、あなたの答えです質問:

ピクセルあたりの特定の要素の正確なxyの座標を知るには次のコードブロックを使用して検討することができ、ウェブページ内のそれの位置:

import org.openqa.selenium.By; 
import org.openqa.selenium.Point; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class location_of_element 
{ 
    public static void main(String[] args) 
    { 
     System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe"); 
     WebDriver driver = new FirefoxDriver(); 
     driver.get("https://www.google.co.in"); 
     WebElement element = driver.findElement(By.name("q")); 
     Point point = element.getLocation(); 
     System.out.println("Element's Position from left side is: "+point.getX()+" pixels."); 
     System.out.println("Element's Position from top is: "+point.getY()+" pixels."); 
    } 
} 

あなたはorg.openqa.selenium.Point

を輸入しているコンソールに出力として可能であることを確認します

Element's Position from left side is: 413 pixels. 
Element's Position from top is: 322 pixels. 

これがあなたの質問に答えるかどうか教えてください。

+0

あなたの貢献に多くの感謝DebanjanB。多くの感謝。 –

+0

@ S.Mukherjeeあなたの質問に私の答えがある場合は、投票アップ/ダウンボタンのすぐ下にある私の回答の横にあるチェックマークをクリックして答えを受け入れてください。ありがとう – DebanjanB

関連する問題