python功能库|python第三方库--selenium库


目录

  • 简介
  • 常用方法
    • 案例:获取拉勾网的招聘信息

简介 selnium是一个自动化测试工具,支持各种浏览器,简单的说就是selenium可以操作浏览器,加载一些需要动态加载的界面
安装selenium库后还需要安装对应浏览器的驱动
selenium webdriver的基本操作
定位到元素后,还需要进行以下相应的操作,下面介绍一些常用的方法
常用方法
方法 描述 示例
get(url) 访问url driver.get('http://www.baidu.com')
back() 后退上一步 driver.back()后退上一个网页,类似于:←
forward() 前进下一步 driver.format()与back()相反,类似于:→
quit() 退出驱动关闭所有窗口 driver.quit()关闭所有窗口
close() 关闭当前窗口 driver.close()关闭当前打开的窗口
maximize_window() 浏览器最大化
refresh() 刷新浏览器 driver.refresh()刷新浏览器
元素操作
方法 描述 示例
send_keys() 向文本框类型中输入数据 driver.find_element('input').send_keys('123') 向input输入框中输入123
clear() 清空输入的数据 driver.find_element(‘tag’,'input').clear() 清空input框中的内容
click() 单击事件 driver.find_element('tag','input').click()
enter() 触发键盘的enter操作 driver.find_element('tag','input').enter()
text() 获取元素的文本内容 driver.find_element('id','name').text(),返回name的文本
page_source 获取页面的HTML内容 driver.page_source() 获取网页的html
cookie操作
方法 简介 示例
get_cookies() 获取当前页面的所有cookies dirver.get_cookies() 获得页面所有的cookie
add_cookie() 添加cookie driver.add_cookie('time','1612354154.7383971'),添加一个time为1612354154.7383971的cookie
delete_cookie() 删除一条cookie driver.delete_cookie('time') 删除名称为time的cookie
delete_all_cookies() 删除所有cookie driver.delete_cookies() 删除所有cookie
案例:获取拉勾网的招聘信息
from selenium import webdriver import time from bs4 import BeautifulSoup import re class Job:# 建立一个工作类 def __init__(self): self.name=None self.company=None self.condition=None self.salary=None def get(self): return (self.name,self.company,self.condition,self.salary) class Lagou: def __init__(self): self.driver=webdriver.Chrome() self.driver.maximize_window() self.url='http://www.lagou.com/' def search(self,keyword): self.driver.get(self.url) time.sleep(3) self.driver.find_element('id','cboxClose').click() time.sleep(3) self.driver.find_element('id','search_input').send_keys(keyword) self.driver.find_element('id','search_button').click() time.sleep(2) page_source=self.driver.page_source self.driver.quit() return page_source def get_jobs(self,page_source): soup=BeautifulSoup(page_source,'html.parser') myjob=Job()# 实例化每一个工作并进行信息存储 hot_item=soup.find_all('li',class_=re.compile('con_list_item')) for item in hot_item: myjob.name=item.find('h3').get_text().strip() # 去除字符两端的空白字符 myjob.company=item.select_one('.company_name>a').get_text().strip() myjob.salary=item.select_one('.money').get_text().strip() myjob.condition=item.find('div',class_='industry').get_text().strip() print(myjob.get()) if __name__ == '__main__': hot=Lagou() time.sleep(5) page_source=hot.search('python') hot.get_jobs(page_source)

【python功能库|python第三方库--selenium库】运行结果
python功能库|python第三方库--selenium库
文章图片

    推荐阅读