文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python爬虫之Web自动化测试工具Selenium&&Chrome handless

2023-09-06 14:27

关注


请添加图片描述

@作者 : SYFStrive

@博客首页 : HomePage

🥧 上一篇续文传送门

📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗

📌:如果觉得文章对你有帮助可以点点关注 👉:专栏连接🔗

💃:程序员每天坚持锻炼💪

🔗:
阅读文章
请添加图片描述

📋目录


Selenium简介

  1. Selenium是一个用于Web应用程序测试的工具。
  2. Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。(真正的用户还不给数据那么网站存在的意义是什么?)
  3. 支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动
    真实浏览器完成测试。
  4. selenium也是支持无界面浏览器操作的。
  5. 缺点:有点慢

为什么使用selenium❓

模拟浏览器功能,自动执行网页中的js代码,实现动态加载

如何安装selenium❓

步骤:

  1. 下载对应浏览器版本驱动
  2. 查看自己浏览器的版本 (如以🛠为例:谷歌浏览器右上角‐‐>帮助‐‐>关于)
  3. 以🛠浏览器为例:驱动下载:[点击跳转]
  4. 把下载好的放驱动放在项目的目录下
  5. 安装语法:pip install selenium
  6. 其他驱动
驱动名链接
GGhttps://chromedriver.chromium.org/downloads
Eehttps://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
🦊https://github.com/mozilla/geckodriver/releases
🍏https://webkit.org/blog/6900/webdriver-support-in-safari-10/

selenium的使用步骤❓

selenium获取🔍源码练习

📰代码演示:

在这里插入图片描述

如果出现下面的报错不要慌:问题出现在浏览器驱动版本不一致 或者 高于当前浏览器版本(下载对应的驱动即可)

在这里插入图片描述
如下图(成功🆗):

在这里插入图片描述
请添加图片描述

selenium获取🛒源码练习

📰代码演示:

在这里插入图片描述

如下图(成功🆗):

在这里插入图片描述
请添加图片描述

selenium之元素定位❓

说明:元素定位:自动化要做的就是模拟鼠标和键盘来操作来操作这些元素,点击、输入等等。操作这些元素前首先要找到它们,WebDriver提供很多定位元素的方法(比如:自动抢票等😀)

方法

🔋:表示常用
推荐:博客园文章关于元素定位的相关使用:👉点击跳转🔗
常用的六种方法方法:(对应关系 (这是旧版的(报错但不影响使用)) =>(新版):使用新版需要导入:from selenium.webdriver.common.by import By

方法使用举例
find_element_by_id=>find_element(By.ID, “ID”)eg:button = bor.find_element_by_id(‘id值’) 🔋
find_elements_by_name=>find_element(By.NAME, “NAME”)eg:name = bor.find_element_by_name(‘input里面的name’)
find_element_by_xpath=>find_element(By.XPATH, “XPATH”)eg:xpath1 = bor.find_element_by_xpath(‘//input[@id=“id值”]’) 返回值 🔋
find_elements_by_tag_name=>find_element(By.NAME, “NAME”)eg:names = bor.find_elements_by_tag_name(‘标签名’)
find_elements_by_css_selector=>find_element(By.CSS_SELECTOR, ‘#J_footer’)eg:my_input = bor.find_elements_by_css_selector(‘这里简单记使用的是Bs4语法’)[0]🔋
find_elements_by_link_text=>find_element(By.LINK_TEXT, ‘秒杀’)eg:bor.find_element_by_link_text(“页面中的链接文本”)
find_element(By.CLASS_NAME, “CLASS_NAME”)eg:name = bor.find_elements(By.CLASS_NAME, “秒杀”)
方法对比
find_element VS find_elements 一个返回的是值,一个是列表

📰代码演示:

在这里插入图片描述

如下图(成功🆗):

在这里插入图片描述

访问的相关使用

说明:定位到元数后获取该元素的文本、类,Id名等等……

访问元素信息:

📰代码演示:

在这里插入图片描述

如下图(成功🆗)

请添加图片描述

交互的相关使用

说明:如自动打开🔍然后输入大司马然后点击他的简介进行查看(自动执行(刷起来))

交互:

📰代码演示:

在这里插入图片描述

如下图(全自动的(gif太大传不了,可以自己把time设置大一点感受)🆗):

链接👉: 点击查看

小总结✍

**使用步骤:**使用selenium获取源码 👉 定位元素 👉 访问元素 👉 模拟交互

Chrome handless

简介

  1. Chrome handless 跟 Selenium使用方法差不多,使用起来速度比Selenium更快
  2. Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下
  3. 使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。
  4. 优点:快
  5. 缺点:无界面

系统要求

Chrome handless相关使用

在这里插入图片描述

📰代码演示:

在这里插入图片描述

如下图(成功🆗):

在这里插入图片描述

Chrome handless简单封装

在这里插入图片描述

最后

本文章到这里就结束了,觉得不错的请给我专栏点点订阅,你的支持是我们更新的动力,感谢大家的支持,希望这篇文章能帮到大家

点击跳转到我的Python专栏

在这里插入图片描述

下篇文章再见ヾ( ̄▽ ̄)ByeBye

请添加图片描述

来源地址:https://blog.csdn.net/m0_61490399/article/details/126170410

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯