zoukankan      html  css  js  c++  java
  • 简单的图片滑动&标签页的前进后退

    注意: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()
    

      

  • 相关阅读:
    Android常用URI收藏
    2017 ZSTU寒假排位赛 #3
    HDU 3689 Infinite monkey theorem ——(自动机+DP)
    CodeForces 755D PolandBall and Polygon ——(xjbg)
    2017 ZSTU寒假排位赛 #2
    HDU 3264 Open-air shopping malls ——(二分+圆交)
    HDU 1255 覆盖的面积 ——(线段树+扫描线)
    HDU 3265 Posters ——(线段树+扫描线)
    2017 ZSTU寒假排位赛 #1
    UVA 11853 Paintball ——(dfs+圆交判定)
  • 原文地址:https://www.cnblogs.com/evan0925/p/11043881.html
Copyright © 2011-2022 走看看