(一)定位元素、控制浏览器后退和前进

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangshangchunjiezi/article/details/89670340

一、selenium自动化要做的事情

模拟鼠标和键盘来操作这些元素,操作包括点击、输入、右击、鼠标拖动等

二、定位元素

8种方法:org.openqa.selenium.By

...
<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
 
<input type="submit" id="su" value="百度一下" class="bg s_btn">
...

常用5种


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

public class baidu {

	public static void main(String[] args) {
		System.setProperty("webdriver.firefox.bin", "D:/Program Files (x86)/Mozilla Firefox/firefox.exe");
		System.setProperty("webdriver.gecko.driver", "E://selenium//geckodriver-v0.24.0-win64//geckodriver.exe");
		WebDriver driver=new FirefoxDriver();
		driver.get("http://www.baidu.com/");//向浏览器发送网址
		/*
		WebElement txtbox=driver.findElement(By.id("kw")); //根据属性id找到百度输入框
		CharSequence[] str={"selenium java"};
		txtbox.sendKeys(str);//文本框输入内容
		WebElement btn=driver.findElement(By.id("su")); //根据属性id=su找到百度一下搜索按钮
		btn.click();//点击
		*/
		
		WebElement txtbox=driver.findElement(By.name("wd")); 
		System.out.println(txtbox.getTagName());
		
		WebElement txtbox1=driver.findElement(By.tagName("input"));//因相同标签的tag很多,所以一般不使用
		System.out.println(txtbox1.getTagName());
		
		WebElement link=driver.findElement(By.linkText("新闻")); //link定位
		link.click();
		
		WebElement link2=driver.findElement(By.partialLinkText("百度首"));
		link2.click();
		
	}
}

三、控制浏览器后退、前进

浏览器提供了后退、前进按钮,方便的对浏览过的页面之间切换,那么WebDriver也提供了对应的back()、forward()方法模拟后退、前进按钮。

public static void main(String[] args) {
		System.setProperty("webdriver.firefox.bin", "D:/Program Files (x86)/Mozilla Firefox/firefox.exe");
		System.setProperty("webdriver.gecko.driver", "E://selenium//geckodriver-v0.24.0-win64//geckodriver.exe");
		
		WebDriver driver=new FirefoxDriver();
		
		driver.get("http://www.baidu.com/");//向浏览器发送网址
		
		WebElement link=driver.findElement(By.linkText("新闻"));
		
		String newLink=link.getAttribute("href");
		System.out.println(newLink);
		
		//跳转页面
		driver.get(newLink);
		
		//跳回
		driver.navigate().back();
		System.out.println("往回跳");
		//往前跳
		driver.navigate().forward();
		
		System.out.println("往前跳");
		
		
	}

三、

猜你喜欢

转载自blog.csdn.net/jiangshangchunjiezi/article/details/89670340
今日推荐