美文网首页
十一、Selenium之滑块处理

十一、Selenium之滑块处理

作者: 叫我松鼠哥哥 | 来源:发表于2019-11-13 12:24 被阅读0次

    以注册携程为例
    1、先同意协议
    2、拉动滑块
    处理滑块思路如下
    1、先找到滑块和滑轨目标元素
    2、利用ActionChains中的drag_and_drop_by_offset方法将滑块拖动至目标位置

    方法 方法说明
    drag_and_drop_by_offset(source,xoffset,yoffset) 参数说明:(源,目标位置横坐标,目标位置纵坐标)

    代码如下:

    from selenium import webdriver
    
    # selenium对于滑块的操作
    from selenium.webdriver import ActionChains
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get("https://passport.ctrip.com/user/reg/home")
    
    driver.find_element_by_css_selector("#agr_pop > div.pop_footer > a.reg_btn.reg_agree").click()
    
    # 确定滑块宽度,高度
    source = driver.find_element_by_css_selector("#slideCode > div.cpt-drop-box > div.cpt-drop-btn")
    # 确定滑道宽度,高度
    target = driver.find_element_by_css_selector("#slideCode > div.cpt-drop-box > div.cpt-bg-bar")
    
    print("滑块width:" + str(source.size['width']) + ",height:" + str(source.size['height']))
    print("滑道width:" + str(target.size['width']) + ",height:" + str(target.size['height']))
    
    # 使用Action Chains模块拖动滑轨
    ActionChains(driver).drag_and_drop_by_offset(source,target.size["width"],source.size['height']).perform()
    
    
    图1
    图2

    Selenium 3+Python 3 自动化测试项目实战 从菜鸟到高手 田春成 李靖 /著

    相关文章

      网友评论

          本文标题:十一、Selenium之滑块处理

          本文链接:https://www.haomeiwen.com/subject/hlkavctx.html