上一篇用selenium写了简单的脚本
from selenium import webdriver
from time import sleep
#打开浏览器
driver = webdriver.Chrome()
#打开网站(百度)
driver.get('http://www.baidu.com')
#输入内容
driver.find_element_by_id('kw').send_keys('selenium')
#点击百度一下
driver.find_element_by_id('su').click()
sleep(3)
#退出浏览器
driver.quit()
今天来把它封装调用
from selenium import webdriver
from time import sleep
#打开浏览器
driver = webdriver.Chrome()
#打开网站(百度),我们可以这样写,定义个函数def get_url():
def get_url():
driver.get('http://www.baidu.com')
sleep(1)
#输入内容,我们可以这样写,定义个函数
def input_text():
driver.find_element_by_id('kw').send_keys('selenium')
sleep(1)
#点击百度一下,也是定义函数
def click_element():
driver.find_element_by_id('su').click()
sleep(2)
#退出浏览器就不定义函数了,接下来调用下
get_url()
input_text()
click_element()
driver.quit()
我们再来进一步操作
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
#为什么导入这个在后面说
#打开浏览器
driver = webdriver.Chrome()
#打开网站,不把网站写死
def get_url(url):
driver.get(url)
sleep(1)
#输入内容
def input_text(locator_type,value,text):
driver.find_element(by=locator_type,value=value).send_key(text)
sleep(1)
#点击百度一下
def click_element():
driver.find_element(by=locator_type,value=value).click()
sleep(2)
#调用下
#想要打开百度,那就调用get_url()时,写入百度的地址就可以
get_url('http://www.baidu.com')
#在输入框内输入selenium,调用input_text()时,我是用id来定位的,
那么就写用By.ID
nput_text(By.ID,'kw','selenium')
#点击百度一下,同样使用By.ID
click_element(By.ID,'su')
quit()
selenium的By使用要先导入,就是我们上面写的
from selenium.webdriver.common.by import By
举个例子By.ID是获取类By中的ID的属性值id
如果我写的是find_element_by_xpath,那么就写成By.XPATH
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”
以上算是关键字驱动~