美文网首页
selenium 移动滚动条方法

selenium 移动滚动条方法

作者: 看不见上帝 | 来源:发表于2020-09-21 16:42 被阅读0次

    代码可以直接取用。

    一、浏览器自带的滚动条。

    js = "var q=document.documentElement.scrollTop=10000"
    driver.execute_script(js)

    from selenium import webdriver
    from time import sleep
    
    class Test_8888():
    
        def test_8888(self):
            self.wd = webdriver.Firefox()
            self.wd.maximize_window()
            self.wd.get("http://www.baidu.com")
    
            self.wd.find_element_by_id("kw").send_keys("selenium")
            self.wd.find_element_by_id("su").click()
            sleep(1)
    
            ```
            'var q=document.documentElement.scrollTop=XXX'
            xxx 可变数值,修改滚动条移动多少。
            ```
            jsDown = "var q=document.documentElement.scrollTop=10000"
            jsUp = "var q=document.documentElement.scrollTop=0"
    
            for i in range(10):
                print("向下")
                self.wd.execute_script(jsDown)
                sleep(0.5)
                print("向上")
                self.wd.execute_script(jsUp)
                sleep(0.5)
    
            self.wd.close()
    
    if __name__ == '__main__':
        test = Test_8888()
        test.test_8888()
    

    二、内嵌框架的滚动条。

    js = "var q=document.getElementById('ID').scrollTop=100000"
    首先定位到内嵌框架的ID 然后放入代码。这有个坑当前页面有iframe时,如果你进入去了然后又要滑动那你只有先出来在定位滑动。不然会报找不到元素。


    image.png
    import time
    from selenium import webdriver
    
    
    class Test_8889():
    
        def test_8889(self):
            self.wd = webdriver.Firefox()
            self.wd.maximize_window()
            self.wd.get("https://ebanks.cgbchina.com.cn/perbankDemo//main.htm#")
            time.sleep(2)
            for i in range(6):
                self.wd.find_element_by_id("buttonNextDiv").click()
    
            '''
            "var q=document.getElementById("id").scrollTop=100000"
            '''
            jsDown = "var q=document.getElementById('mainWrapper').scrollTop=100000"
            jsUpward = "var q=document.getElementById('mainWrapper').scrollTop=0"
    
            for i in range(10):
                print("向下")
                self.wd.execute_script(jsDown)
                time.sleep(0.5)
                print("向上")
                self.wd.execute_script(jsUpward)
                time.sleep(0.5)
    
            self.wd.close()
    
    if __name__ == '__main__':
        Test_8889().test_8889()
    

    相关文章

      网友评论

          本文标题:selenium 移动滚动条方法

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