selenium
2018-12-28 本文已影响0人
风雨声豪入梦中
selenium:是一个自动化测试软件 安装 pip3 install selenium
selenium 不自带浏览器,如果要用的话必须跟第三方的浏览器配
from selenium import webdriver
有头浏览器是测试用的,无头浏览器比有头浏览器更快
如果不设置有头还是无头,它默认为有界面的浏览器
selenium : 还可以模拟用户进行点击
selenium: 的好处模拟浏览器进行加载
如何设置无头浏览器 opt = webdriver.ChromeOptions()
设置为无头浏览器 opt.set_headless()
创建一个浏览器驱动
chrome_driver = webdriver.Chrome(
executable_path= '/home/tian/桌面/驱动/chromedriver',
options=opt # 表示无界面的浏览器,
)
chrome_driver.get('[https://www.baidu.com/'](https://www.baidu.com/'))
chrome_driver.save_screenshot('百度.png')
获取页面源码(是经过浏览器渲染后的结果) html_data = chrome_driver.page_source
模拟用户操作,在百度栏中搜索文字, 以百度为例
chrome_driver.find_element_by_id('kw').send_keys('蛋糕')
点击按钮 chrome_driver.find_element_by_id('su').click()
time.sleep(3)
隐士等待:
当我们寻找节点的时候,有时候页面可能没有加载出来,设置隐士等待,没有的话会等一会继续寻找,如果在设置的时间内没有找到,这时会出现异常错误
chrome_driver.implicitly_wait(10)
显示等待
点击下一页 chrome_driver.find_element_by_class_name('n').click()
根据文字查找对应的节点 chrome_driver.find_element_by_link_text('下一页>').click()
清空 chrome_driver.find_element_by_id('kw').clear()
在百度搜索框中搜索关键字 chrome_driver.find_element_by_id('kw').send_keys('苹果')
模拟点击回车 from selenium.webdriver.common.keys import Keys
Keys.RETURN 模拟键盘回车的操作 chrome_driver.find_element_by_id('su').send_keys(Keys.RETURN)
回退 chrome_driver.back()
前进 chrome_driver.forward()
关闭浏览器(关闭所有浏览器窗口) chrome_driver.close()
退出浏览器操作(当只有一个页面的时候退出) chrome_driver.quit()
获取节点的属性 get_attribute chrome_driver.find_element_by_id('su').get_attribute('value')
获取节点的文本 text print(chrome_driver.find_element_by_class_name('n').text)
获取cookie cookies = chrome_driver.get_cookie()
获取当前请求的url cur_url = chrome_driver.current_url
"""
通过节点的name属性查找对性的节点 chrome_driver.find_element_by_name()
通过节点的class_name找到对应的节点 chrome_driver.find_element_by_class_name()
通过css查找对应的节点 chrome_driver.find_element_by_css_selector()
通过链接所在的标签的部分文字找到节点 chrome_driver.find_element_by_link_text()
通过xpath路径找到对应的节点 chrome_driver.find_element_by_xpath()
.....
"""