實戰練習:用airtest-selenium腳本爬取百度熱搜標題

1. 前言

很多同學,使用AirtestIDE都是做移動端的測試,其實它還有個隱藏功能,就是做web自動化測試。

搞網頁測試,使用AirtestIDE的好處是,能借助selenium的輔助窗,幫助我們快捷地生產web自動化腳本。

這裏用到的庫叫做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自動化腳本(因爲這個練習,不需要生成報告什麼的,所以運行命令非常簡單):

4. 小結

那今天的web自動化小練習就到這裏啦,如果同學們還有別的想看的自動化腳本,歡迎給我們留言!


Airtest官網https://airtest.netease.com/
Airtest教程官網https://airtest.doc.io.netease.com/
搭建企業私有云服務https://airlab.163.com/b2b

官方答疑 Q 羣:117973773

呀,這麼認真都看到這裏啦,幫忙點個推薦支持一下唄,灰常感謝~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章