Selenium python + selenium,判断网站元素,输出结果到本地文件

胖大海 · 2023年03月03日 · 最后由 西学东渐 回复于 2023年03月10日 · 5171 次阅读

本人实习测试工程师,23 年毕业应届生,使用 python + selenium,判断网站元素,输出结果到本地文件,希望能给大家带来一点帮助,代码如下:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from webdriver_helper import *    # 这个是一个第三方库,它会自动安装selenium和对应浏览器驱动,很是方便               
# 安装的命令是:pip install webdriver- helper==1.*
import csv
import time

with get_webdriver() as dr:    # 创建驱动器对象,括号里默认是谷歌,可以输入如“Firefox”等,这个库会自动下载对应的驱动,会自动关闭浏览器
    with open('D:/网站.csv','r') as f:  # 打开巡检网站的CSV文件,创建对象,“r”是读取模式
        list = []
        for i in f:                                     # 遍历文件
            try:                                        
                dr.implicitly_wait(10)                  
                dr.get(i)                               # 打开文件内的URL
                # 显式等待,超过10秒找不到元素报错
                WebDriverWait(dr,10).until(lambda dr:dr.find_element(By.XPATH,'你要定位的元素'))
                list.append({'URL':i,'Status':'OK'})    # 将Dict类型内容追加到列表List中
            except:                                     # 没有找到元素,就会抛出异常,执行下面代码
                list.append({'URL':i,'Status':'NO'})
    list.pop()                                          # 删除列表最后一个多余元素
    header = ['URL','Status']                           # 定义写入本地文件的列名
    with open('D:/Email.csv','w',newline='') as f:      # 打开本地文件,如果没有,则自动创建,否则覆盖,去掉空白,“w”是写入模式
        writer = csv.DictWriter(f,fieldnames=header)    # 传入列名并创建对象
        writer.writeheader()                            # 将列名写入文件首行标头
        writer.writerows(list)                          # 根据列名写入数据
# 执行完可以去本地路径找到csv文件了
共收到 2 条回复 时间 点赞

同实习测试感觉自己是个废物

你用的什么管理用例的?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册