实战练习:用airtest-selenium脚本爬取百度热搜标题

简介: 实战练习:用airtest-selenium脚本爬取百度热搜标题

此文章来源于项目官方公众号:“AirtestProject”

版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

1. 前言

很多同学,使用AirtestIDE都是做移动端的测试,其实它还有个隐藏功能,就是做web自动化测试。

搞网页测试,使用AirtestIDE的好处是,能借助selenium的辅助窗,帮助我们快捷地生产web自动化脚本。

image.png

这里用到的库叫做airtest-selenium。今天我们就利用airtest-selenium来完成一个简单的实操练习:自动爬取百度热搜标题。

2. 爬取标题的脚本

示例为一个简单的纯py脚本,它的功能是:

  • 打开chrome浏览器
  • 打开百度首页
  • 点击“百度热搜”
  • 获取热搜标题并print出来
# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
auto_setup(__file__)
# 初始化并打开chrome浏览器
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebChrome
driver = WebChrome()
driver.implicitly_wait(20)
# 打开百度首页
driver.get("https://www.baidu.com/")
# 点击百度热搜并切换到新标签页
driver.find_element_by_xpath("//*[@id=\"s-hotsearch-wrapper\"]/div/a/div/i").click()
driver.switch_to_new_tab()
# 打印百度热搜榜的标题
for hot in driver.find_elements_by_class_name("c-single-text-ellipsis"):
   print(hot.text)

3. 命令行运行Web自动化脚本

当然,写好web自动化脚本之后,我们其实也不用依赖于AirtestIDE来运行的。我们完全可以脱离IDE。

但相比于在IDE上运行web脚本,我们只需要在选项设置里面填一下chrome path这么简单。脱离IDE运行web脚本,我们所要准备的工作就多得多的。

1)python环境准备

首先确保我们有一个可用的python环境,其次,需要在环境里面装好第三方库:airtest、airtest-selenium、selenium。

另外还需要注意下,selenium的版本不能大于4.0,因为该版本airtest-selenium还未兼容。

2)chrome与chromedriver版本对应

另外,我们还需要确保运行环境设置好了版本对应的chromedriver,否则容易报错:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 98
Current browser version is 108.0.5359.73 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
3)命令行运行

以上2个步骤都确认以后,我们可以非常简单的在终端敲命令运行写好的web自动化脚本(因为这个练习,不需要生成报告什么的,所以运行命令非常简单):

image.png

4. 小结

那今天的web自动化小练习就到这里啦,如果同学们还有别的想看的自动化脚本,欢迎给我们留言!

PS:Airtest正在参加掘金年度人气团队,辛苦走过路过的朋友,帮忙投个票呗~ rank.juejin.cn/rank/2022/w…

相关文章
|
6月前
|
JavaScript 前端开发 测试技术
使用Selenium执行JavaScript脚本:探索Web自动化的新领域
本文介绍了如何在Selenium中使用JavaScript解决自动化测试中的复杂问题。Selenium的`execute_script`函数用于同步执行JS,例如滑动页面、操作时间控件等。在滑动操作示例中,通过JS将页面滚动到底部,点击下一页并获取页面信息。对于只读时间控件,利用JS去除readonly属性并设置新日期。使用JS扩展了Selenium的功能,提高了测试效率和精准度,适用于各种自动化测试场景。
175 1
|
6月前
|
数据采集 Python
爬虫实战-Python爬取百度当天热搜内容
爬虫实战-Python爬取百度当天热搜内容
201 0
|
6月前
|
Web App开发 前端开发 IDE
Airtest-Selenium实操小课①:爬取新榜数据
Airtest-Selenium实操小课①:爬取新榜数据
|
3月前
|
前端开发 JavaScript Java
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
本文介绍了一个结合SpringBoot和Python的实用功能,旨在监控iPhone 15的库存状态并通过邮件提醒用户。系统采用SpringBoot监听苹果官网API,解析JSON数据判断是否有货,并展示最近的库存记录。此外,还能自动触发Selenium+Python脚本实现自动化购买。文中详细介绍了技术栈、接口分析、邮件配置及自动化脚本的设置方法。该项目不仅适用于熟悉后端开发的人员,也适合回顾Layui和Jquery等前端技术。
52 0
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
|
4天前
|
数据采集 Web App开发 前端开发
Python爬虫进阶:Selenium在动态网页抓取中的实战
【10月更文挑战第26天】动态网页抓取是网络爬虫的难点,因为数据通常通过JavaScript异步加载。Selenium通过模拟浏览器行为,可以加载和执行JavaScript,从而获取动态网页的完整内容。本文通过实战案例,介绍如何使用Selenium在Python中抓取动态网页。首先安装Selenium库和浏览器驱动,然后通过示例代码展示如何抓取英国国家美术馆的图片信息。
24 6
|
2月前
|
数据采集 Python
Selenium爬取百度热搜榜单
Selenium爬取百度热搜榜单
49 0
Selenium爬取百度热搜榜单
|
2月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
53 0
|
3月前
|
数据采集 XML 前端开发
Python爬虫实战:利用代理IP爬取百度翻译
Python 爬虫实战:利用代理 IP 爬取百度翻译
182 2
|
6月前
|
Android开发
Flutter完整开发实战详解(六、 深入Widget原理),2024百度Android岗面试真题收录解析
Flutter完整开发实战详解(六、 深入Widget原理),2024百度Android岗面试真题收录解析
|
6月前
|
数据采集 存储 JavaScript
Buzz库网络爬虫实例:快速爬取百度搜索实时热点
Buzz库网络爬虫实例:快速爬取百度搜索实时热点