webdriver API:浏览器的控制

  • 浏览器操作

最大化浏览器: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

猜你喜欢

转载自www.cnblogs.com/hlbzzt/p/9892736.html