zoukankan      html  css  js  c++  java
  • python-web自动化:滚动条

    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

    目前大多数页面不需要滚动就可以操作元素,如果你定位的元素可见,但是没有出现在屏幕可视区域,定位表达式也是正确的,那就试一下滚动到对应的元素再操作

    """

    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、等待
    # 1、傻等 - 5 15
    import time
    time.sleep(2)

    # 智能等待 - 如果说你下一行的代码当中用到的元素,那我就设置一个等待极限。
    # 在这个极限范围之内,任何一个时间点元素出现了,就不等了,去执行下一行代码。

    # 2、隐性等待 implicitly_wait

    from selenium.webdriver.common.keys import Keys
    driver = webdriver.Chrome()
    driver.implicitly_wait(30) # 等待元素存在、命令执行完成

    driver.get("http://www.baidu.com")
    driver.find_element_by_id("kw").send_keys("天气",Keys.ENTER)
    # driver.find_element_by_id("su").click()

    #要滚动的元素
    loc = (By.XPATH,'//div[@id="4"]/h3[@class="t"]/a/em[text()="天气"]')
    WebDriverWait(driver,20).until(EC.visibility_of_element_located(loc))
    ele = driver.find_element(*loc)

    driver.execute_script("arguments[0].scrollIntoView()",ele)

    #ele.click()


    实现效果
    
    
    

     # 带参数的 - js的参数来自于我们的python代码。 = 滚动条


    多个参数时的传参格式
    # ele = driver.find_element_by_xpath('//input[@class="date-txt"]')
    # ele2 = driver.find_element_by_xpath("")
    # driver.execute_script("arguments[0].value='XXX';arguments[1].value='XXX;'",ele,ele2)

     
  • 相关阅读:
    【豆科基因组】普通豆/菜豆/四季豆Common bean (Phaseolus vulgaris L.) 基因组
    【豆科基因组】利马豆/洋扁豆Lima bean(Phaseolus lunatus L.)基因组2021NC
    工作流大大批量报错
    django中request参数
    java笔记(二)----详解装箱与拆箱
    java笔记(一)----基础知识
    Navicat 快捷键
    ant+Jacoco 统计tomcat远程部署后项目接口自动化测试或者功能测试代码覆盖率
    安全测试:BurpSuite 学习使用教程(转)
    耗电量测试(转)
  • 原文地址:https://www.cnblogs.com/xintiaoab/p/13710777.html
Copyright © 2011-2022 走看看