python selenium 1
来源:互联网 发布:网络销售投资 编辑:程序博客网 时间:2024/06/06 01:39
from selenium import webdriver
//webdriver模块提供了所有的WebDriver实现。当前Selenium支持的WebDriver实现由火狐、Chrome、IE和远程。
from selenium.webdriver.common.keys import Keys
//Keys类提供了模拟键盘按键的操作方法,如RETURN、F1、ALT操作等。
driver = webdriver.Firefox(executable_path=”C:\Users\BABABI\Desktop\geckodriver”)
//实例化一个 webdriver.FireFox
driver.get(“http://www.python.org“)//此部分执行可能会很慢,如有过多ajax的话get也不知道是否加载完全,如若你需要确保这类页面被完整加载,可以使用wait等待。
//http get获取页面内容
assert “Python” in driver.title
//断言判断title中是否包含Python
elem = driver.find_element_by_name(‘q’)
elem.clear()
elem.send_keys(“good one”)
elem.send_keys(Keys.RETURN)
//element.send_keys(Keys.ARROW_DOWN) 可以模拟箭头按键。。
//找到name为q的标签
//clear文本
//填写文本
//在文本框中模拟键入RETURN
assert “No results found.” not in driver.page_source
元素定位
单个元素定位
find_element_by_id(使用id)
find_element_by_name(使用name属性值)
find_element_by_xpath(使用XPath)
find_element_by_link_text(使用显示文本)
find_element_by_partial_link_text(使用超链接文本)
find_element_by_tag_name(使用标签名)
find_element_by_class_name(使用类名)
find_element_by_css_selector(使用CSS选择器)
多个元素定位
find_elements_by_name(使用name属性值)
find_elements_by_xpath(使用XPath)
find_elements_by_link_text(使用显示文本)
find_elements_by_partial_link_text(使用超链接文本)
find_elements_by_tag_name(使用标签名)
find_elements_by_class_name(使用类名)
find_elements_by_css_selector(使用CSS选择器)
另外有一个通用的调用
单 find_element
多 find_elements
首先引入by方法
from selenium.webdriver.common.by import By
使用by中的xpath方法
driver.find_elements(By.XPATH, ‘//button’)
、、、、、、、、、、、、、、、、、、、、、
By类可用的属性如下:
ID = “id”
XPATH = “xpath”
LINK_TEXT = “link text”
PARTIAL_LINK_TEXT = “partial link text”
NAME = “name”
TAG_NAME = “tag name”
CLASS_NAME = “class name”
CSS_SELECTOR = “css selector”
通过name属性来定位
比如,考虑一下下面的网页源码:
<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
<input name="continue" type="button" value="Clear" />
</form>
</body>
<html>
username和password元素可以向下面这样定位:
username = driver.find_element_by_name(‘username’)
password = driver.find_element_by_name(‘password’)
下面将会返回Login按钮,因为他出现在Clear按钮的前面:
continue = driver.find_element_by_name(‘continue’)
使用XPath进行定位
如下网页源码 <html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
<input name="continue" type="button" value="Clear" />
</form>
</body>
<html>
form元素可以像下面这样进行定位:
login_form = driver.find_element_by_xpath(“/html/body/form[1]”)
login_form = driver.find_element_by_xpath(“//form[1]”)
login_form = driver.find_element_by_xpath(“//form[@id=’loginForm’]”)
username元素可以像下面这样定位:
username = driver.find_element_by_xpath(“//form[input/@name=’username’]”)
username = driver.find_element_by_xpath(“//form[@id=’loginForm’]/input[1]”)
username = driver.find_element_by_xpath(“//input[@name=’username’]”)
Clear按钮元素可以像下面这样定位:
clear_button = driver.find_element_by_xpath(“//input[@name=’continue’][@type=’button’]”)
clear_button = driver.find_element_by_xpath(“//form[@id=’loginForm’]/input[4]”)
- python selenium 1
- Python+Selenium【1】
- Python-selenium(1)环境部署
- selenium+python自动化测试(1)
- Selenium python
- python selenium
- python+selenium
- python + selenium
- Python Selenium
- python selenium
- Python selenium
- python+selenium
- selenium-python
- Python selenium
- Python+selenium
- Python+selenium
- python+selenium
- Python selenium
- 输入一个正整数数组,输入一个正整数数组,把数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
- Python安装配置教程
- 羊皮卷之八
- React Native 第二天
- (93)DataStream(操作基本数据类型)、ByteArrayStream(操作字节数组)
- python selenium 1
- MySQL 插入数据
- VC中串口使用的详细解答--包括串口编程的流程
- Rails 入门 —— 新建一个blog程序
- java 使用面向对象方式实现录入学生信息,取出成绩最大值、最小值、平均值、对其进行排序
- 剑指Offer:二叉树的深度(一刷)
- iconfont 实践及使用优化
- 4412驱动实验之06 设备注册
- 羊皮卷之九