zoukankan      html  css  js  c++  java
  • selenium 常见操作,js操作-将元素滚动到页面可见区域

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

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

    js操作-滚动条:使用: selenium 当中使用 execute_script

    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.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    import time
    #启动谷歌浏览器,开启与浏览器之间的绘话,会话周期:打开浏览器到关闭浏览器。
    driver = webdriver.Chrome(service_log_path='E:柠檬班二chromedriver_service.log')
    #全局等待,隐性等待,如果不加等待,页面弹窗上可能找不到用户名密码这个元素
    driver.implicitly_wait(30)
    #访问一个网页
    driver.get("https://www.baidu.com")
    driver.maximize_window()
    driver.find_element_by_id('kw').send_keys("12306")
    driver.find_element_by_id('su').click()
    #driver.find_element_by_xpath("").text  获取文本
    #driver.find_element_by_xpath("").get_attribute()
    #driver.find_element_by_xpath("").send_keys()
    
    #滚动条处理
    #1、找到要滚到可视区域的元素
    WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,'//a[contains(text(),"吧_百度贴吧")]')))
    ele = driver.find_element_by_xpath('//a[contains(text(),"吧_百度贴吧")]')
    
    #2、使用js进行滚动操作
    driver.execute_script("arguments[0].scrollIntoView(false);",ele)
    
    # 2、使用js进行滚动操作
    js操作
  • 相关阅读:
    Manage Files on HDFS via Cli/Ambari Files View——如何在ambari上查看HDFS文件
    Windows Authentication
    request.getParameterMap 无法获取到参数的原因
    sql server 分割字符串存储过程
    URI.js – 全能的URL操作库
    低延迟视频流播放方案探索
    mysql 替换函数replace()实现mysql替换指定字段中的字符串
    如何在npm上发布自己的包
    sharp 安装过慢
    Error: EACCES: permission denied, mkdir
  • 原文地址:https://www.cnblogs.com/wuzm/p/12422131.html
Copyright © 2011-2022 走看看