• 简单的图片滑动&标签页的前进后退


    注意:selenium每次驱动的浏览器都是一个干净的,新的浏览器

    1.简单的图片滑动

    from selenium import webdriver
    from selenium.webdriver import ActionChains
    from selenium.webdriver.common.by import By  # 按照什么方式查找,By.ID,By.CSS_SELECTOR
    from selenium.webdriver.common.keys import Keys  # 键盘按键操作
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.wait import WebDriverWait  # 等待页面加载某些元素
    import time
    
    driver = webdriver.Chrome()
    driver.get('http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')
    wait=WebDriverWait(driver,3)
    # driver.implicitly_wait(3)  # 使用隐式等待
    
    try:
        driver.switch_to.frame('iframeResult') ##切换到iframeResult,因为整体页面里面又嵌套了一个html,故需要切换
        sourse=driver.find_element_by_id('draggable')    #源位置
        target=driver.find_element_by_id('droppable')    #目标位置
    
        #方式一:基于同一个动作链串行执行(瞬间拿过去,秒移到图片目标位置)(机器人)
        # actions=ActionChains(driver) #拿到动作链对象,复制给一个变量(调用ActionChains,必须把驱动对象传进去。)
        # actions.drag_and_drop(sourse,target) #把动作放到动作链中,准备串行执行
        # actions.perform()  #执行操作,上面一句仅仅是编织行为,并未执行
    
        #方式二:不同的动作链,每次移动的位移都不同   (模拟人的行为)
        ActionChains(driver).click_and_hold(sourse).perform()   # 先点击并拽住源图片,再拖移
        distance=target.location['x']-sourse.location['x']
    
        track=0
        while track < distance:
            ActionChains(driver).move_by_offset(xoffset=2,yoffset=0).perform()  #x轴位移移动2,y轴位移移动为0
            track += 2
    
        ActionChains(driver).release().perform()  #手松开,即actionChains要重新执行一次(perform)
    
        time.sleep(10)
    
    finally:
        driver.close()
    

     2.标签的前进后退 

    import time
    from selenium import webdriver
    
    browser=webdriver.Chrome()
    
    try:
        browser.implicitly_wait(10)
        browser.get('https://www.baidu.com')
        browser.get('https://jd.com/')
        browser.get('https://cnblogs.com/')
    
        time.sleep(2)
    
    # 回退操作
        browser.back()
        time.sleep(1)
    
        # 前进操作
        browser.forward()
        time.sleep(1)
       
        browser.back()
        time.sleep(10)
    
    finally:
        browser.close()
    

      

  • 相关阅读:
    MySQL的图形化安装
    java笔记整理
    运动会报名系统的简易实现
    JDBC知识点总结
    MySQL常用知识总结
    python的传参数用法
    R统计数据框的行数
    SAINT学习笔记
    win10 双网卡设置内网和外网同时访问
    根据GSVA结果绘制不同组的趋势图
  • 原文地址:https://www.cnblogs.com/evan0925/p/11043881.html
Copyright © 2020-2023  润新知