章节十、1-用ID和XPath、name定位元素

一、在定位元素时需要HTML标签,HTML是超文本标记语言,我们打开web网页是看到的内容就是通过html语言来实现的,按键盘“F12”调用开发者选项后,“Elements”栏中显示的就是网页的HTML代码。(没有接触过HTML的同学可以先去了解一下HTML的基础内容,这样有利于元素定位的学习)

二、用谷歌浏览器打开百度,并搜索“selenium webdriver”(通过ID、XPath的方式来进行元素定位)

输入框

“百度一下”按钮

package basicweb;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class IdXPathDemo {

    public static void main(String[] args) {

        String url = "https://www.baidu.com/";
        System.setProperty("webdriver.chrome.driver", "D:\WorkSpace_person\Selenium\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().window().maximize();
        driver.get(url);
        
//用谷歌浏览器打开百度,并搜索“selenium webdriver”
//        1、定位百度搜索页面的输入框元素,输入框的ID='kw'(.findElement--该方法用于查找元素)
//        2、在定位输入框后使用.sendKeys方法在文本框中输入“selenium webdriver”
//        id 进行定位
        driver.findElement(By.id("kw")).sendKeys("selenium webdriver");
//        3、在输入元素后点击搜索按钮,.click()表示点击的方法
//        Xpath进行定位
        driver.findElement(By.xpath("//input[@id='su']")).click();
    }
}

三、如何用name来查找元素

输入框name=wd

 

package basicweb;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class IdXPathDemo {

    public static void main(String[] args) {

        String url = "https://www.baidu.com/";
        System.setProperty("webdriver.chrome.driver", "D:\WorkSpace_person\Selenium\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().window().maximize();
        driver.get(url);
        
//用谷歌浏览器打开百度,并搜索“selenium webdriver”
//        1、定位百度搜索页面的输入框元素
//        2、在定位输入框后使用.sendKeys方法在文本框中输入“selenium webdriver”
//        name 定位输入框
    driver.findElement(By.name("wd")).sendKeys("selenium webdriver");
//        3、在输入元素后点击搜索按钮,.click()表示点击的方法
//        Xpath进行定位
    driver.findElement(By.xpath("//input[@id='su']")).click();
    }

}
原文地址:https://www.cnblogs.com/luohuasheng/p/10682163.html