(5)python+selenium-基本操作

本文详细介绍了Selenium中三种等待机制:强制等待、隐性等待和显性等待的使用方法及其特点。同时,展示了如何利用Python的csv模块读取CSV文件,并通过for循环遍历文件中的每一行数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.时间问题

(1)强制等待
sleep(3)
不管浏览器是否加载完,程序都必须等3秒再执行
(2)隐性等待
implicity_wait(6)
若在3秒定位到了元素则继续执行,若超出6s时间,还没有定位到元素,就抛出异常
隐性等待对整个driver的周期都起作用,不用每一步都设置
(3)显性等待

from selenium.webdriver.support import expected_conditions as EC
WebDriverWait(driver, 5, 0.5).until(
        EC.presence_of_element_located((By.ID, "kw"))

WebDriverWait,配合该类的until()和until_not()方法,就能够根据判断条件而进行灵活地等待了。它主要的意思就是:程序每隔xx秒看一眼,如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException
解析:WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)
driver:浏览器驱动
timeout:最长超时时间,默认以秒为单位
poll_frequency:检测的间隔时间,默认为0.5s
ignored_exceptions:超时后的异常信息,默认情况下抛出NoSuchElementException异常
WebDriverWait()一般由until()或until_not()方法配合使用,until直到返回值为true,not_until直到返回值为false
2.读取文件

import csv   #导入csv模块

date = csv.reader(open('../config/info.csv','r'))  #通过read()方法读取csv文件

for user in date:   #通过for循环遍历文件中的每一行数据
    print(user)
   #print(user[1]) #指定读取csv文件中的某一列,下标从0开始

打印结果:读取的每一行数据均是以数组的形式存储的

['user', 'password']
['root', 'zte']
['admin', 'root']
['zte', 'zte']

Process finished with exit code 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值