美文网首页
用Selenium模拟页面滚动

用Selenium模拟页面滚动

作者: 吱吱菌啦啦 | 来源:发表于2022-04-29 11:28 被阅读0次

    TouchActions:模拟pc和h5的点击,滑动,拖拽,多点触控等多种手势操作
    实现方法:new_action.scroll_from_element(a, 0, 10000).perform(),10000表示滑动的偏移量,如果不知道大小,尽量最大。

    示例:百度页面-输入'灵题库'-百度一下,然后滑动页面并最大化窗口

    from time import sleep
    from selenium import webdriver
    from selenium.webdriver import TouchActions
    from selenium.webdriver.common.by import By
    
    class TestTouchAction():
        """
        百度页面,输入'灵题库'搜索,滑动页面,最大化窗口    
        """
        def setup(self):
            option = webdriver.ChromeOptions()
            option.add_experimental_option('w3c', False)
            self.driver = webdriver.Chrome(options=option)
            # 隐式等待
            self.driver.implicitly_wait(5)
            # 窗口最大化
            self.driver.maximize_window()
            self.driver.get('http://www.baidu.com')
    
        def teardown(self):
            self.driver.quit()
    
        def test_touchaction(self):
            """
            页面滑动
            :return:
            """
            self.driver.find_element(By.XPATH, '//*[@id="kw"]').send_keys('灵题库')
            element_search = self.driver.find_element(By.XPATH, '//*[@id="su"]')
            action = TouchActions(self.driver)
            # 通过action点击百度一下
            action.tap(element_search)
            action.perform()
            sleep(2)
            # 百度首页到list页,页面变化之后,scroll_from_element报错,重新定位下输入框和action
            element_input = self.driver.find_element(By.XPATH, '//*[@id="kw"]')
            new_action = TouchActions(self.driver)
            new_action.scroll_from_element(element_input, 0, 10000).perform()
    

    相关文章

      网友评论

          本文标题:用Selenium模拟页面滚动

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