IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> python第三方库--selenium库 -> 正文阅读

[开发测试]python第三方库--selenium库

简介

selnium是一个自动化测试工具,支持各种浏览器,简单的说就是selenium可以操作浏览器,加载一些需要动态加载的界面
安装selenium库后还需要安装对应浏览器的驱动
selenium webdriver的基本操作
定位到元素后,还需要进行以下相应的操作,下面介绍一些常用的方法

常用方法

方法描述示例
get(url)访问urldriver.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()获取当前页面的所有cookiesdirver.get_cookies() 获得页面所有的cookie
add_cookie()添加cookiedriver.add_cookie('time','1612354154.7383971'),添加一个time为1612354154.7383971的cookie
delete_cookie()删除一条cookiedriver.delete_cookie('time') 删除名称为time的cookie
delete_all_cookies()删除所有cookiedriver.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)

运行结果
在这里插入图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:53:42  更:2021-11-09 19:53:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:35:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码