2019 7.7学习笔记
selenium常用操作
driver.close() 关闭当前页面
driver.quit() 关闭整个浏览器
定位元素的方法
1.如果只是想要解析网页中的数据,那么推荐将网页源代码扔给lxml来解析,因为lxml底层使用的是C语言,所以解析效率会更高。
2.如果是想要对元素进行一些操作,比如给一个文本框输入值,或者是点击某个按钮,那么就必须使用selenium给我们提供的查找元素的方法
from selenium import webdriver
driver_path=r"E:\chromedriver\chromedriver.exe" driver=webdriver.Chrome(executable_path=driver_path) driver.get('https://www.baidu.com/') # inputTag=driver.find_element_by_id('kw') #通过id定位 # inputTag=driver.find_element_by_name('wd') #通过name定位 # inputTag=driver.find_element_by_class_name('s_ipt') #通过class定位 # inputTag=driver.find_element_by_xpath("//input[@id='kw']") #通过xpath定位 inputTag=driver.find_element_by_css_selector('#kw') #通过CSS选择器定位 inputTag.send_keys('python') #driver.find_element_by_link_text() #定位文本链接 #driver.find_element_by_partial_link_text() #模糊匹配定位文本链接
操作表单元素
常见的表单元素:
input type='text/password/email/numver'
button input[type='submit']
checkbox input='checkbox'
selec 下拉列表
操作文本框
from selenium import webdriver import time driver_path=r"E:\chromedriver\chromedriver.exe" driver=webdriver.Chrome(executable_path=driver_path) driver.get('https://www.baidu.com/') inpuTag=driver.find_element_by_id('kw') inpuTag.send_keys('python') time.sleep(3) inpuTag.clear()
操作checkbox
from selenium import webdriver import time driver_path=r"E:\chromedriver\chromedriver.exe" driver=webdriver.Chrome(executable_path=driver_path) driver.get('http://www.uimaker.com/member/login.php') remembercb=driver.find_element_by_name('keeptime') remembercb.click()
选择select
from selenium.webdriver.support.ui import Select # 选中这个标签,然后使用Select创建对象 selectTag=Select(driver.find_element_by_name("xxxx")) # 根据索引选择 selectTag.select_by_index(1) # 根据值选择 selectTag.select_by_value("http:www.xxx.com") # 根据可视的文本选择 selectTag.select_by_visible_text("xxxxxx") # 取消选中的所有选项 selectTag.deselect_all()
操作按钮
from selenium import webdriver import time driver_path=r"E:\chromedriver\chromedriver.exe" driver=webdriver.Chrome(executable_path=driver_path) driver.get('http://www.baidu.com') inputTag=driver.find_element_by_id('kw') inputTag.send_keys("python") submitTag=driver.find_element_by_id('su') submitTag.click()