selenium的基本使用
一、close与quit的基本区别
diver.close():关闭当前页面
driver.quit():关闭浏览器窗口
from selenium import webdriver
import time
#构造浏览器
chrome = webdriver.Chrome()
#请求的URL
chrome.get('http://www.baidu.com')
#休眠
time.sleep(5)
#关闭当前页
chrome.close()
#5s后关闭浏览器窗口
time.sleep(5)
chrome.quit()
二、定位元素
find_element获取满足条件的第一个元素
find_elements获取满足条件的所有元素
序号 | 方法 | 描述 |
---|---|---|
01 | find_element_by_id() | 通过ID定位元素 |
02 | find_element_by_name() | 通过name定位元素 |
03 | find_element_by_class_name() | 通过类样式定位元素 |
04 | find_element_by_tag_name() | 通过标签名称定位元素 |
05 | find_element_by_link_text() | 通过链接定位元素(a标签) |
06 | find_element_by_css_selector() | 通过CSS定位元素 |
07 | find_element_by_xpath() | 通过xpath语法获取元素 |
from selenium import webdriver
#构造浏览器
chrome = webdriver.Chrome()
#请求的URL
chrome.get('https://cn.bing.com/')
(1)通过ID定位浏览器搜索框元素
#(1)通过ID定位浏览器搜索框元素
input_tag = chrome.find_element_by_id('sb_form_q')
#在输入框中输入“Python”
input_tag.send_keys('python')
(2)通过name属性定位元素
#(2)通过name属性定位元素
input_tag = chrome.find_element_by_name('q')
#在输入框中输入“Python”
input_tag.send_keys('python')
(3)通过类样式名称定位元素
#(3)通过类样式名称定位元素
input_tag = chrome.find_element_by_class_name('sb_form_q xh-highlight')
#在输入框中输入“Python”
input_tag.send_keys('python')
(4)通过tag标签名称定位元素
#(4)通过tag标签名称定位元素
input_tag = chrome.find_element_by_tag_name('input')
#input_tags = chrome.find_elements_by_tag_name('input') 获取满足条件的input标签
(5)通过a标签定位元素
#(5)根据链接文本定位元素
a_tag = chrome.find_element_by_link_text('图片')
a_tag.click() #点击该链接
(6)通过CSS样式(ID)定位元素
input_tag = chrome.find_element_by_css_selector('#sb_form_q') #ID选择器使用“#”号,class选择器使用“.”
#在输入框中输入“Python”
input_tag.send_keys('python')
(7)使用xpath语法获取元素
from selenium import webdriver
#构造浏览器
chrome = webdriver.Chrome()
#请求的URL
chrome.get('https://cn.bing.com/')
#(7)通过xpath语法获取元素
input_tag = chrome.find_element_by_xpath('//input[@class="sb_form_q xh-highlight"]')
input_tag.send_keys('python')