• 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)

     
  • 相关阅读:
    module.export和export
    netty学习
    I/O知识
    cxf+spring+数字签名开发webservice(二)
    cxf+spring+数字签名开发webservice(一)
    js作用域
    js继承
    js模块和级联
    python全栈_011_Python3基本数据类型--字典
    python全栈_010_Python3基本数据类型--元组
  • 原文地址:https://www.cnblogs.com/xintiaoab/p/13710777.html
Copyright © 2020-2023  润新知