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 四

python selenium--常用函数3

Selenium2(java)selenium常用API 五

python + selenium 常用方法

python Selenium自己常用的函数

selenium 常用浏览器操作API