At the beginning of this article, it is also the hardest part to introduce the content of the Web Automation core, which is to locate the elements and to manipulate the elements. The first and most important step in trying to manipulate elements is to find this element, and if the elements are not positioned, then everything is a rip-off. The interface for locating elements in selenium is the Findelement interface. The Findelement interface supports eight ways to find page elements, and this article introduces three simple and convenient methods: by Id,by Name, by ClassName.
We still use Baidu as an example, the way to see the code. I use the browser's own developer tool, which is the window opened by "F12". Click on the icon in the upper right corner of the window and then click on the section of the page where you want to align the action, and the open window will show the code for that part. For example, we want to search for Baidu's input box to locate. You can see the following code when you finish clicking the input box
The code in the blue bar in the diagram is the code of the input box that we clicked on, which expands to see the contents. The red box is framed by some information about the input box. For example, id = "KW" name = "WD" class = "S_ipt".
Similarly we can find the "Baidu" button information. Get id = "SU" class = "bg S_btn".
Here's a place to watch. We can see that the Baidu button has a space in the class. In the by ClassName method, if the class contains a space, it cannot be identified and an error will be caused. So when the class of the element to be positioned contains a space, we cannot use the by ClassName method to find it, and we should change the method.
For example, we'll enter "automated tests" into the input box and look for them. The code shows the following
Importorg.openqa.selenium.By;ImportOrg.openqa.selenium.WebDriver;ImportOrg.openqa.selenium.chrome.ChromeDriver; Public classPageloadtest { Public Static voidMain (string[] args) {System.setproperty ("Webdriver.chrome.driver", ". \\Tools\\chromedriver.exe"); Webdriver Driver=NewChromedriver (); Driver.get ("Https://www.baidu.com"); Driver.findelement (By.id ("kw")). SendKeys ("Automated Testing"); Enter the input box by using the By ID method
Driver.findelement (By.name ("WD")). SendKeys ("automated Testing");//using the by Name method
Driver.findelement (By.classname ("S_ipt")). SendKeys ("Automated test")//by ClassName method
Driver.findelement (By.id ("su")). Click (); Click on a button
} }
The SendKeys () method and the Click () method that appear in the above code are briefly described here.
The SendKeys () method is a method for entering characters into an element, and the input parameters are generally of type string.
The click () method is the operation that simulates the left mouse button click.
Java + Selenium element positioning (1) by Id/name/classname