• selenium 常见操作,js操作-将元素滚动到页面可见区域


      我们在自动化测试中,会遇到需要把浏览器页面的元素移动到可见区域,就需要使用页面向上或者向下滚动

    js操作-滚动条:使用: selenium 当中使用 execute_script   (译:埃克斯Q特。思怪泼特) 方法 执行 js 语句;

    页面元素滚动到可见区域常用的操作:

    1、移动到元素element对象的“底端”与当前窗口的“底部”对齐:

    • driver.execute_script("arguments[0].scrollIntoView(false);",element)

    2、移动到元素element对象的“顶端”与当前窗口的“顶部”对齐 :

    • driver.execute_script("arguments[0].scrollIntoView();",element)

    3、移动到页面底部:

    • driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")

    4、移动到页面顶部:

    • driver.execute_script("window.scrollTo(document.body.scrollHeight,0)")

    将元素滚动到可见区域 :百度查询“电脑”,将“电脑_百度百科”移动到底部。

    1、需要滚动的对象:先定位元素

    2、js的滚动语句:上面的四种方法

    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    import time
    
    driver = webdriver.Chrome()
    driver.get("http://www.baidu.com")
    
    driver.find_element_by_id("kw").send_keys("电脑", Keys.ENTER)
    # driver.find_element_by_id("su").click()
    
    # 1、找到我要滚动到可见区域的元素
    loc = (By.XPATH, '//a[text()="_百度百科"]')
    WebDriverWait(driver, 20).until(EC.visibility_of_element_located(loc))
    element = driver.find_element(*loc)
    
    # 2、执行js的函数将元素滚动到可见区域:execute_script(译:埃克斯Q特。思怪泼特)
    driver.execute_script("arguments[0].scrollIntoView(false);", element)  # 因顶部有遮罩层,所以与可见区域的底部对齐。
    
    #
    执行js的函数,如果是两个参数 # driver.execute_script("arguments[0].scrollIntoView(false);alert(arguments[1])", element, "200") # 滚动到可见区域后,进行点击操作 element.click() # 等待五秒,查看效果,关闭浏览器 time.sleep(5) driver.quit()

    *******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!******* 

  • 相关阅读:
    【LeetCode 15】三数之和
    【LeetCode 14】最长公共前缀
    【LeetCode 13】罗马数字转整数
    【LeetCode 12】整数转罗马数字
    【LeetCode 11】盛最多水的容器
    【LeetCode 10】正则表达式匹配
    【LeetCode 9】回文数
    【LeetCode 8】字符串转换整数 (atoi)
    【LeetCode 7】整数反转
    【LeetCode 6】Z 字形变换
  • 原文地址:https://www.cnblogs.com/shouhu/p/12227216.html
Copyright © 2020-2023  润新知