Selenium使用
一.元素定位:
1.通过前端工具,查看元素的属性
2.通过属性定位
- id
driver.findElement(By.id("kw")) - name
driver.findElement(By.name("wd")) - classname 类名
driver.findElement(By.className("s_ipt")) - tagname 标签名
driver.findElement(By.tagName("input")) - linktext 链接文字
driver.findElement(By.linkText("新闻")) - partiallinktext 部分链接文字
driver.findElement(By.partialLinkText("闻")) - xpath
- //子孙级
- /子级
- [@属性='']
- 例如
driver.findElement(By.xpath("//*[@id='kw']"))
driver.findElement(By.xpath("//*[@name='wd']"))
driver.findElement(By.xpath("//input[@class='s_ipt']"))
driver.findElement(By.xpath("/html/body/form/span/input"))
driver.findElement(By.xpath("//span[@class='soutu-btn']/input"))
driver.findElement(By.xpath("//form[@id='form']/span/input"))
driver.findElement(By.xpath("//input[@id='kw' and @name='wd']"))
- css
- # id选择器
- . 类选择器
- 空格 后代
- > 子元素
- + 相邻兄弟
- [] 属性选择器
- : 伪
- 例如
driver.findElement(By.cssSelector("#kw")
driver.findElement(By.cssSelector("[name=wd]")
driver.findElement(By.cssSelector(".s_ipt")
driver.findElement(By.cssSelector("html > body > form > span > input")
driver.findElement(By.cssSelector("span.soutu-btn> input#kw")
driver.findElement(By.cssSelector("form#form > span > input")
二.浏览器相关操作
- 启动浏览器
- driver = new ChromeDriver();
- 控制浏览器窗口大小
- maximize() 设置浏览器最大化
- setSize() 设置浏览器窗口的宽与高
- maximize() 设置浏览器最大化
- 访问网页
- driver.get("www.baidu.com")
- driver.navigate().to("www.baidu.com")
- driver.get("www.baidu.com")
- 控制浏览器前进、后退
- driver.navigate().back() 后退
- driver.navigate().forward() 前进
- driver.navigate().back() 后退
- 刷新页面
- driver.navigate().refresh()
- driver.navigate().refresh()
- 获取页面信息(title属性值 源代码 网址)
- driver.getTitle()
- driver.getPageSource()
- driver.gerCurrentUrl()
- driver.getTitle()
三.操作元素/标签
- 输入框
- srk.clear() 清空文字
- srk.sendKeys("hello")
- srk.clear() 清空文字
- 选择/点击
- button.click() 点击按钮
- radio.click() 点击单选按钮
- checkbox.click() 点击复选框
- link.click() 点击链接
- button.click() 点击按钮
- 元素
- button.click() 单击
- action.doubleClick(inputText).bulid().perform()