Python自动测试脚本(selenium)--小白也会安装+代码实测

本文以Edge浏览器为例

一、Edge浏览器版本与对应驱动器

1.1查看自己Edge浏览器版本

1.2到官网下载对应版本的Edge驱动(Microsoft Edge WebDriver |Microsoft Edge 开发人员

https://developer.microsoft.com/zh-cn/microsoft-edge/tools/webdriver/?form=MA13LH

二、将下载好的Edge驱动器(msedgedriver.exe)放在python目录下面(默认目录)

三、上手代码(以3733手游为例,爬取部分页面数据)---仅供个人学习使用,造成后果自行承担

from selenium import webdriver
from selenium.webdriver.common.by import By

# 指定Edge驱动程序的路径
edge_driver_path = 'D:\\Python\\msedgedriver.exe'

# 初始化Edge浏览器驱动
driver = webdriver.Edge(executable_path=edge_driver_path)

# 设定页数
num_pages = 1

# 行计数器
row_count = 2

for page in range(1, num_pages + 1):
    # 打开目标网页
    url = f'https://www.3733.com/zt?page={page}'
    driver.get(url)

    # 等待页面加载完成
    driver.implicitly_wait(10)

    # 获取所有li元素的总数
    li_count = len(driver.find_elements(By.CLASS_NAME, 'special-content-list'))

    # 遍历所有li元素并依次点击
    for i in range(li_count):
        # 重新获取li元素列表,因为返回上一页后,之前的元素引用会失效
        li_elements = driver.find_elements(By.CLASS_NAME, 'special-content-list')

        # 获取当前li元素中的a标签
        a_tag = li_elements[i].find_element(By.TAG_NAME, 'a')

        # 点击a标签
        a_tag.click()

        # 等待页面加载完成
        driver.implicitly_wait(5)

        # 获取页面信息
        title = driver.title
        keywords = driver.find_element(By.NAME, 'keywords').get_attribute('content')
        description = driver.find_element(By.NAME, 'description').get_attribute('content')

        # 获取标题
        h1_title = driver.find_element(By.TAG_NAME, 'h1').text

        # 获取更新时间和游戏款数
        date_span = driver.find_element(By.CLASS_NAME, 'date').find_element(By.TAG_NAME, 'span').text
        game_count = driver.find_element(By.CLASS_NAME, 'date').find_element(By.TAG_NAME, 'em').text

        # 获取游戏详情
        game_details = driver.find_element(By.CLASS_NAME, 'desc').find_element(By.TAG_NAME, 'p').text

        # 获取相关推荐文字信息
        tags = driver.find_element(By.CLASS_NAME, 'tags')
        related_links = tags.find_elements(By.TAG_NAME, 'a')
        related_texts = [link.text for link in related_links]
        related_texts_str = ", ".join(related_texts)

        # 打印获取的基础信息
        print("\n")
        print(f"专题标题: {title}")
        print(f"Keyword关键字: {keywords}")
        print(f"专题描述: {description}")
        print(f"页面详情页专题标题: {h1_title}")
        print(f"页面详情页更新时间: {date_span}")
        print(f"页面详情页更新游戏款数: {game_count}")
        print(f"页面详情页游戏详情: {game_details}")
        print(f"页面详情页相关推荐: {related_texts_str}")

        # 增加行计数器
        row_count += 1

        # 返回上一页
        driver.back()

        # 再次等待页面加载完成
        driver.implicitly_wait(5)

# 关闭浏览器
driver.quit()

    四、 避免踩雷(必看!!!)

  1.selenium库终端直接下载2.53.6版本,有时候最新版有问题

pip install selenium==2.53.6

  2.有关于代码中Edge路径的问题

原先第三步中代码是直接自定义驱动器的路径
edge_driver_path = 'D:\\Python\\msedgedriver.exe'
driver = webdriver.Edge(executable_path=edge_driver_path)

有时候如果edge驱动器路径依旧出现问题:
driver = webdriver.Edge()
这里直接可以尝试不填路径,因为我们第二步默认好edge路径在python解析器目录了

五、运行截图(实测有效)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值