- 浏览器操作
最大化浏览器:maximize_window()
设置浏览器宽高:set_window_size(480,800)
前进:forward()
后退:back()
退出浏览器:quit()
from selenium import webdriver from time import sleep dr = webdriver.Firefox() dr.get("https://www.baidu.com") dr.set_window_size(600,800) sleep(1) dr.maximize_window() dr.quit()
输入:send_keys()
清除:clear()
点击:click()
from selenium import webdriver from time import sleep dr = webdriver.Firefox() dr.get("https://www.baidu.com") dr.find_element_by_name('wd').send_keys('hello') sleep(1) dr.find_element_by_name('wd').clear() sleep(1) dr.find_element_by_xpath('//input[@maxlength="255"]').send_keys('selenium') sleep(1)
获取输入框尺寸:size //注意size不带括号
返回文本信息:text
返回元素属性:get_attribute()
返回元素的结果是否可见:is_displayed() //可见返回true,不可见返回false
# -*- coding: UTF-8 -*- from selenium import webdriver dr = webdriver.Firefox() dr.get("https://www.baidu.com") s = dr.find_element_by_id('kw').size print s t = dr.find_element_by_partial_link_text('About').text print t n = dr.find_element_by_id('kw').get_attribute('name') print n i = dr.find_element_by_link_text('新闻').is_displayed() print i dr.quit()
- 鼠标事件
模拟鼠标行为需要导入ActionChains类:from selenium.webdriver.common.action_chains import ActionChains
鼠标悬停:ActionChains(驱动).move_to_element(悬停元素).perform()
from selenium import webdriver from time import sleep from selenium.webdriver.common.action_chains import ActionChains dr = webdriver.Firefox() dr.get("https://www.baidu.com") sz = dr.find_element_by_css_selector('a.pf:nth-child(8)') ActionChains(dr).move_to_element(sz).perform() sleep(5)
鼠标右键:ActionChains(驱动).context_click(右键元素).perform()
鼠标双击:ActionChains(驱动).double_click(双击元素).perform()
- 键盘事件
模拟键盘行为需要导入Keys类:from selenium.webdriver.common.keys import Keys
输入内容:send_keys('内容')
删除一个字符:send_keys(Keys.BACK_SPACE)
空格:send_keys(Keys.SPACE)
组合键:send_keys(Keys.CONTROL,'a') //a全选,c复制,v粘贴,x剪切
回车键:send_keys(Keys.ENTER)
回退键ESC:send_keys(Keys.ESCAPE)
- 获得验证信息
获取当前url:current_url
获取当前页面标题:title
获取文本信息:text
dr = webdriver.Firefox()
dr.get("https://passport.bilibili.com/login")
nowurl = dr.current_url
print nowurl
t = dr.title
print t n = dr.find_element_by_xpath('//div[@class="input-box"]/ul/li[5]/a').text print n