Поиск координат X Y веб-элементов с помощью Selenium
Каждый веб-элемент имеет собственное положение на странице, известное как координаты x y. x y координаты веб-элемента измеряются в x и y пикселях. x пикселей означает горизонтальное положение элемента на странице слева, а y пикселей означает вертикальное положение элемента на странице сверху. Давайте посмотрим, как найти координаты x y веб-элементов с помощью Selenium WebDriver.
Используя класс Point, мы можем получить координаты x y веб-элементов в Selenium WebDriver.
Также читайте: Учебник по SQL для тестировщиков ПО
Давайте рассмотрим практический пример того, как найти координаты x y веб-элементов с помощью Selenium WebDriver:
Дано четкое объяснение в разделе комментариев внутри самой программы. Пожалуйста, просмотрите его, чтобы понять поток. :4;-webkit-размер вкладки:4;размер вкладки:4;размер шрифта:12px!важно;высота строки:15px!важно>пакет программного обеспечения TestingMaterial; импортировать org.openqa.selenium.By; импортировать org.openqa.selenium.Point; импортировать org.openqa.selenium.WebDriver; импортировать org.openqa.selenium.WebElement; импортировать org.openqa.selenium.chrome.ChromeDriver; импортировать org.openqa.selenium.interactions.Actions; public class TestTestTest { public static void main (String [] args) throws InterruptedException { //Экземпляр объекта драйвера. Для запуска браузера Firefox System.setProperty("webdriver.chrome.driver", "D:\Selenium Environment\Drivers\chromedriver.exe"); Драйвер WebDriver = новый ChromeDriver(); //Чтобы открыть URL-адрес driver.get("https://www.softwaretestingmaterial.com/sample-webpage-to-automate/"); //driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); Thread.sleep(5000); driver.get("https://www.softwaretestingmaterial.com/sample-webpage-to-automate/"); //найти логотип SoftwareTestingMaterial с помощью linkText Locator WebElement element = driver.findElement(By.linkText("Материалы для тестирования программного обеспечения")); //Используется класс точек для получения координат x и y элемента. Точка point = element.getLocation(); int xcord = point.getX(); System.out.println("Положение веб-элемента слева: "+xcord +" пикселей"); intycord = point.getY(); System.out.println("Положение веб-элемента сверху: "+ycord +" пикселей"); //Использование класса Actions Actions action = new Actions(driver); //щелкнув логотип на основе координат x и y //вы будете перенаправлены на домашнюю страницу softwaretestingmaterial.com action.moveToElement(element, xcord, ycord).click().build().perform(); /*((JavascriptExecutor)driver).executeScript("window.scrollTo(0,"+element.getLocation().y+")"); element.click();*//*JavascriptExecutor executor = (JavascriptExecutor) driver; executor.executeScript("window.scroll(" + xcord + ", " + ycord + ");"); executor.executeScript("arguments[0].click();", element);*/} }
1234567891011121314151617181920212223242526272829303132333435363738 | пакет программного обеспеченияTestingMaterial;импорт org.openqa.selenium.By;импорт org.openqa.selenium.Point;импорт org.openqa.selenium.WebDriver;импорт org.openqa.selenium.WebElement;импорт org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.interactions.Actions; открытый класс TestTestTest {public static void main (String [] args) throws InterruptedException {//Экземпляр объекта драйвера. Чтобы запустить браузер Firefox System.setProperty(“webdriver.chrome.driver”, “D:\Selenium Environment\Drivers\chromedriver.exe”);WebDriver driver = new ChromeDriver(); //Чтобы открыть urlddriver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);//driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS) ;Thread.sleep(5000);driver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);//найти логотип SoftwareTestingMaterial с помощью linkText LocatorWebElement element = driver.findElement(By .linkText(“Материалы по тестированию программного обеспечения”));//Используется класс точек для получения координат x и y элемента.Point point = element.getLocation();int xcord = point.getX();System.out.println(” Положение элемента слева “+xcord +” пикселей”);int ycord = point.getY();System.out.println(“Положение элемента сверху: “+ycord +” пикселей”); //Использование класса Actions Actions action = new Actions(driver); //щелкнув логотип на основе координат x и y //вы будете перенаправлены на главную страницу softwaretestingmaterial.com action.moveToElement(element, xcord, ycord).click().build().perform(); /*((JavascriptExecutor)driver).executeScript(“window.scrollTo(0,”+element.getLocation().y+”)”); element.click();*/ /*JavascriptExecutor executor = (JavascriptExecutor) драйвер; executor.executeScript(“window.scroll(” + xcord + “, ” + ycord + “);”); executor.executeScript(“arguments[0].click();”, element);*/}} |
Выполните указанный выше скрипт и просмотрите вывод консоли. Вы могли видеть значения координат x и y.
Также посмотрите, как получить размер элемента в Selenium WebDriver:
Чтобы получить ширину и высоту элемента, я использовал < em>метод getSize()
Практический пример:
Дано четкое объяснение в разделе комментариев внутри самой программы. Пожалуйста, просмотрите его, чтобы понять процесс.
123456789101112131415161718192021222324 | пакет softwareTestingMaterial; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium.chrome.ChromeDriver; открытый класс TestTestTest {public static void main ( String [] args) выдает InterruptedException {System.setProperty(“webdriver.chrome.driver”, “D:\Selenium Environment\Drivers\chromedriver.exe”);WebDriver driver = new ChromeDriver();driver.get( “https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);//driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);Thread.sleep(5000); driver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);//найти логотип SoftwareTestingMaterial с помощью linkText LocatorWebElement logo = driver.findElement(By.linkText(“Материалы по тестированию программного обеспечения” )); //Чтобы получить ширину логотипа int logoWidth = logo.getSize().getWidth(); System.out.println(“Ширина логотипа: “+logoWidth+” пикселей”); //Чтобы получить высоту логотипа int logoHeight = logo.getSize().getHeight(); System.out.println(“Высота логотипа: “+logoHeight+” пикселей”);}} |
Выполните приведенный выше скрипт и просмотрите вывод консоли. Вы могли видеть ширину и высоту логотипа.
Если вы не являетесь постоянным читателем моего блога, я настоятельно рекомендую вам подписаться на бесплатную рассылку по электронной почте, используя ссылку ниже.
TAG: qa