美文网首页
selenium模拟鼠标滚动

selenium模拟鼠标滚动

作者: 朝畫夕拾 | 来源:发表于2021-05-12 12:48 被阅读0次

      target = driver.find_element_by_id("id_keypair");

      driver.execute_script("arguments[0].scrollIntoView();", target) #拖动到可见的元素去

    这个方法可以模拟鼠标滚动到需要显示的元素位置,使用场景:浏览器窗口小,页面过大内容显示不全,元素可以定位但不可见。

    或者

    self._current_browser().execute_script("arguments[0].focus();", element)


    页面为ajax动态加载

    driver = webdriver.Chrome()

    read_mores = driver.find_elements_by_xpath('//a[text()="加载更多"]')

    for read_more in read_mores:

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

        driver.execute_script("$(arguments[0]).click();", read_more)



    你可以用 execute_script方法来处理这个。 调用原生javascript的API,这样你想滚到哪里就能滚到哪里。

    下面的代码演示了如何滚到页面的最下面:

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


    # target = driver.find_elements_by_xpath('//div[@class="swiper-slide page3"]')[0]

    target= driver.find_element_by_xpath('//div[@class="swiper-slide page3"]')

    driver.execute_script("arguments[0].scrollIntoView();", target) # 拖动到可见的元素去

    # driver.execute_script("$(arguments[0]).click();", target)

    time.sleep(10)

    相关文章

      网友评论

          本文标题:selenium模拟鼠标滚动

          本文链接:https://www.haomeiwen.com/subject/hsladltx.html