鱼C论坛

 找回密码
 立即注册
查看: 2084|回复: 4

selenium做网页自动化

[复制链接]
发表于 2021-2-24 16:12:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.目前采用的调用百度API识别验证码,准确率还行,但反馈速度不高,有没有更好的方案
2.流程:
        a.时钟元素消失,自动点“确定”
        b.循环判断验证码是否存在
        c.如果验证码存在,循环结束,调用百度API识别,填写验证码,提交
        d.如果验证码不存在,则time.sleep(0.2),继续循环
由于确定点完到出现验证码有一个时间间隔,且受服务器压力波动不固定,无法设time.sleep
想通过识别元素是否存在来判断下一步操作,但实操发现判断这里永远失败,不知道代码哪错了,请教大师
#自动过验证
def grab_solt():
    browser.find_element_by_xpath('//*[@id="onDiv1"]/div[18]/span/button[2]').click()
    print(datetime.datetime.now())
    #判断验证码是否出现
    #flag = True
##
    #while flag:
    #    #//*[@id="codeShow"]
    #    if browser.find_element_by_xpath('//*[@id="codeShow"]').is_displayed()== True:
    #        print("已经出现验证码")
    #        flag = False
    #    else:
    #        print("还未出现验证码")
    #        #flag = True
    #        time.sleep(0.2)
            
            
   
   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-24 16:15:48 | 显示全部楼层
可以试试WebdriverWait和Expected_Conditions结合使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-24 16:19:52 | 显示全部楼层
qiuyouzhi 发表于 2021-2-24 16:15
可以试试WebdriverWait和Expected_Conditions结合使用

能具体举个例子吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-24 16:20:57 | 显示全部楼层

你可以百度查下用法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-24 18:58:20 | 显示全部楼层
WebDriverWait(driver, timeout).until(
        expected_conditions.presence_of_element_located((By.ID, img_id)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 11:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表