API讲解
#防止乱码。
coding = utf-8
#要想使用selenium 的webdriver 里的函数,首先把包导进来
from selenium import webdriver
import time
#需要操控的浏览器
browser = webdriver.Firefox()
time.sleep(3)
browser.get("http://www.baidu.com")
time.sleep(3)
#通过元素定位
browser.find_element_by_id("kw").send_keys("selenium")
time.sleep(3)
browser.find_element_by_id("su").click()
#关闭浏览器
browser.quit()
browser.quit()和browser.close()的区别
browser.close()
close方法关闭当前的浏览器窗口。
browser.quit()
退出并关闭窗口的每一个相关的驱动程序。quit方法不仅关闭窗口,还彻底的退出webdriver,释放与driver server之间的连接。所以简单来说quit是更加彻底的close,quit会更好的释放资源。
元素的定位
webdriver 提供了一系列的对象定位方法,常用的有以下几种
#coding=utf-8
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get("http://www.baidu.com")
#########百度输入框的定位方式##########
#通过id 方式定位
browser.find_element_by_id("kw").send_keys("selenium")
#通过name 方式定位
browser.find_element_by_name("wd").send_keys("selenium")
#通过tag name 方式定位
browser.find_element_by_tag_name("input").send_keys("selenium") #不能成功,因为input太多了不唯一。
#通过class name 方式定位
browser.find_element_by_class_name("s_ipt").send_keys("selenium")
#通过CSS 方式定位
browser.find_element_by_css_selector("#kw").send_keys("selenium")
#通过xphan 方式定位
browser.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")
############################################
browser.find_element_by_id("su").click()
time.sleep(3)
browser.quit()
操作测试对象
webdriver 中比较常用的操作对象的方法有下面几个:
click 点击对象
send_keys 在对象上模拟按键输入
clear 清除对象的内容,如果可以的话
submit 提交对象的内容,如果可以的话
text 用于获取元素的文本信息
#coding=utf-8
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(2)
#输入
driver.find_element_by_id("kw").send_keys("test")
time.sleep(2)
#清除输入框的内容
driver.find_element_by_id("kw").clear()
#点击
driver.find_element_by_id("kw").send_keys("selenium")
time.sleep(2)
#通过submit() 来操作submit 提交表单
#把“百度一下”的操作从click 换成submit 可以达到相同的效果:
driver.find_element_by_id("su").submit()
time.sleep(3)
driver.quit()