请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 162|回复: 1

下拉框操作、js弹窗操作、等待操作

[复制链接]

31

主题

31

帖子

151

积分

注册会员

Rank: 2

积分
151
发表于 2022-6-26 13:28:12 | 显示全部楼层 |阅读模式
下拉框处理
    两种情况
        1.下拉框通过元素定位识别
            driver.find_element(By.XPATH,'下拉框元素位置').click()
        2.创建一个select的对象,然后通过相应方法处理
            from selenium.webdriver.support.select import Select
            selectElement=driver.find_element(By.XPATH,'//select[@id="Selector"]')
            s=Select(selectElement)
            s.select_by_index(2)#索引定位,索引从0开始
            s.select_by_value("mango")#value属性的值
            s.select_by_visible_text("桔子")#可见文本内容

js弹窗操作
    当webdriver遇到无法完成的操作时候,可以使用javascript来完成
        webdriver提供了execute_script()接口来调用js代码
            两种场景
                1.在某个已经定位的元素上执行js
                    driver.execute_script('alert(“hello!!”);')#弹出窗口
                    driver.execute_script(“arguments[0].style.border='5pxsolidred'”,wl)#加边框
                    driver.execute_script(“document.body.scrollTop=10000;”)#浏览器滚动条滚动
                2.在页面上直接执行js
                    无需driver.execute_script()

等待操作
    为了保证脚本的稳定性,有时候需要引入等待时间,等待页面加载元素后再进行操作,selenium提供三种等待时间设置方式
    sleep()
        固定休眠时间设置,python的time包里提供了休眠方法sleep,导入包后就能使用;sleep()方法以秒为单位,如果超时设置小于1秒,可以使用小数
    implicitlyWait()
        隐式等待
            在一个时间范围内等待
                driver.implicitly_wait(100)
                    设置等待时间100s,页面上的元素如果5s后出现,只等待5s。不会等待100秒
    WebDriverWait()
        显示等待
            语法格式
                WebDriverWait(driver,timeout,poll_frequency=0.5,ignore_exceptions=None)
                driver:WebDriver的驱动程序(火狐,谷歌)
                timeout:最长超时时间,默认以秒为单位
                poll_frequency:休眠时间的间隔(步长)时间,默认为0.5秒
                ignore_exceptions:超时后的异常信息,默认情况下抛NoSuchElementException异常


回复

使用道具 举报

30

主题

35

帖子

180

积分

注册会员

Rank: 2

积分
180
发表于 2022-6-26 13:40:17 | 显示全部楼层
写得好,建议多写一点
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2022-8-15 11:09 , Processed in 0.040276 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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