我们在实际自动化测试过程中,肯定会遇到当前页面显示不到我们定位的元素。这就需要下拉滚动条才能显示出我们的元素;
而滚动条的按钮又是我们定位不到的,所以需要使用js脚本来完成;
1.先来说我们的下拉滚动条的操作:
#通过js脚本进行设计;通过坐标点进行绝对移动 #坐标原点(0,0) get_driver.maximize_window() # 最大化窗口 time.sleep(3) get_js="window.scrollTo(0,500);" #编写js脚本,将滚动条滚动到500位置,如果存在多个js脚本则只会执行最后一个。 get_driver.execute_script(get_js) #执行js脚本
2.如果想要多次下拉滚动条:
get_driver.maximize_window() # 最大化窗口 time.sleep(3) get_js="window.scrollTo(0,200);" #编写js脚本,将滚动条滚动到300位置 get_js1="window.scrollBy(0,300);" #执行多个js脚本则需要用到scrollBy;表示再次下拉到300位置 get_driver.execute_script(get_js) #执行js脚本 get_driver.execute_script(get_js1) #执行js脚本
3.将想要定位的元素直接显示到可见窗口:
#通过定位元素进行将所需的元素显示在当前窗口中: get_element=get_driver.find_element_by_xpath("//*[@id='page']/a[10]") # 定位到元素 get_js="arguments[0].scrollIntoView();" # js脚本 get_driver.execute_script(get_js,get_element)