一、从定位元素开始
driver = webdriver.Firefox() // 打开火狐
ele = driver.find_element_by_id() // 定位元素
driver.find_element_by_name()
driver.find_element_by_link_text() // a标签中的文本
driver.find_element_by_css_selector() // css的路径
driver.find_element_by_xpath() // 通过xpath
二、控制浏览器
1、控制浏览器大小
#控制浏览器的大小
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://m.mail.10086.cn')
#参数数字为像素点
print('设置浏览器的尺寸,高800,宽480')
driver.set_window_size(480, 800)
driver.quit()
2、控制浏览器前进后退
# 前进和后退页面
from selenium import webdriver
import time
driver = webdriver.Firefox()
#访问百度首页
first_url = 'http://www.baidu.com'
print('now access %s' %(first_url))
driver.get(first_url)
time.sleep(2)
#访问新闻页面
second_url = 'http://news.baidu.com'
print('now access %s' %second_url)
driver.get(second_url)
time.sleep(2)
#返回到百度页面
print("back to %s" %(first_url))
driver.back()
time.sleep(2)
#前进到新闻页
print("forward to %s" %(second_url))
driver.forward()
time.sleep(2)
# 刷新页面
driver.refresh()
driver.quit()
三、基本元素操作
# 元素操作
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.126.com')
# 清除数据
driver.find_element_by_xpath("//input[@name='email']").clear()
# 填入数据
driver.find_element_by_xpath("//input[@name='email']").send_keys('username')
driver.find_element_by_xpath("//input[@name='password']").clear()
driver.find_element_by_xpath("//input[@name='password']").send_keys('password')
# 点击事件
driver.find_element_by_id("dologin").click()
driver.quit()
四、鼠标事件
from selenium import webdriver
# 鼠标事件要引入actionchains,包括右击、双击、悬停、拖动
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
driver.get('http://www.w3school.com.cn/index.html')
right = driver.find_element_by_link_text('w3school 在线教程')
# 调动ActionChains类,将驱动driver作为参数传入,
# context_click右击,定位元素
# perform执行
#ActionChains(driver).context_click(right).perform()
# 悬停move_to_element
ActionChains(driver).move_to_element(right).perform()
# 双击
# double_click()
# ActionChains(driver).double_click(right).perform()
# 拖放
# drag_and_drop(原位置,目标位置)
# ActionChains(driver).drag_and_drop(element, target).perform()
五、
# 键盘事件,键盘上的键和组合键
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
# 输入内容
driver.find_element_by_id('kw').send_keys('selenium')
# 删除一个字符==后退
driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
# 输入空格键和“教程”,连续输入send_keys会合并
driver.find_element_by_id('kw').send_keys(Keys.SPACE)
driver.find_element_by_id('kw').send_keys('教程')
# 输入Ctrl+a全选
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')
# ctrl+x剪切
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'x')
# ctrl+v粘贴
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v')
# 输入回车键代替单击操作
driver.find_element_by_id('su').send_keys(Keys.ENTER)
# F1
# send_keys(Keys.F1)
driver.quit()