selenium常用api
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium常用api相关的知识,希望对你有一定的参考价值。
参考技术A浏览器
定位/操作对象
webdriver 提供了一系列的元素定位方法,常用的有以下几种:
获取单个的:find_element_by_xxx()
获取所有的:find_elements_by_xxx()获取所有的
传数据:send_keys()
点击:click()
清除数据:clear()
提交:submit()
其他常用WebElement方法
获取该对象的尺寸大小:driver.find_element_by_id("kw").size()
获取该对象的文本:driver.find_element_by_id("cp").text
获取该对象的属性:driver.find_element_by_id(\'su\').get_attribute(\'type\')
该对象是否可见(布尔):driver.find_element_by_id("kw").is_displayed()
键盘事件
from selenium.webdriver.common.keys import Keys
层级定位
driver.find_element_by_id(\'xx\').find_element_by_link_text(\'xx\').click()
这里用到了二次定位,通过对 Link1 的单击之后,出现下拉菜单,
先定位到下拉菜单,再定位下拉菜
单中的选项。当然,如果菜单选项需要单击,可通过二次定位后也直接跟 click()操作。
frame定位
switch_to_frame方法
跳转句柄
select(option)
对这种类型的下拉框一般的处理是两次点击,第一点击弹出下拉框,
第二次点击操作元素。当然,也有些下拉框是鼠标移上去直接弹出的,
那可以使用 move_to_element()进行操作
文件上传
直接定位file标签sendkeys绝对路径或者相对路径
调用js
execute_script
控制浏览器滚动条
利用js操作滚动条实现,但是selenium3中支持自动搜索页面,不需要再操作滚动条来检索标签元素,了解即可
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
time.sleep(2)
cookie操作
获取对象的属性
selenium 常用浏览器操作API
package test;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import net.sourceforge.htmlunit.corejs.javascript.tools.debugger.Main;
public class test {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "D:/firefox-47.0.1.win64.sdk/firefox-sdk/bin/geckodriver.exe");
// 针对selenium3.0以上 需要引入gecko.driver,才能正常运行。
WebDriver drive = new FirefoxDriver();
drive.manage().window().setSize(new Dimension(500, 1000));
// 设置浏览器的宽和高
drive.manage().window().maximize();
// 将浏览器最大化
drive.get("https://www.baidu.com");
// 打开百度网址
drive.navigate().back();
// 后退
drive.navigate().forward();
// 前进 ,此处页面应该返回带百度网页
drive.navigate().refresh();
// 刷新网页。
drive.findElement(By.id("kw")).clear();
// 清楚输入框中的文本
drive.findElement(By.id("kw")).sendKeys("selenium");
// 向百度文本框中输入selenium
// drive.findElement(By.id("su")).click();
// 点击搜索提交按钮
drive.findElement(By.id("su")).submit();
// 此处submit()方法和click()方法一致,submit()用于提交表单。
System.out.println(drive.findElement(By.id("kw")).getSize());
// 获取元素所在文本框的尺寸 (宽 、高)
// System.out.println( drive.findElement(By.id("su")).getText());
System.out.println(drive.findElement(By.id("su")).getAttribute("value"));
System.out.println(drive.findElement(By.id("kw")).isDisplayed());
// 判断元素是否存在
}
}
以上是关于selenium常用api的主要内容,如果未能解决你的问题,请参考以下文章
Selenium2(java)selenium常用API 四