selenium中定位的四种常用方法 (selenium ide使用教程执行顺序)

from selenium import  webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.maximize_window()
driver.find_element("id","kw").send_keys("selenium",Keys.ENTER)
#定位元素-隐式等待
loc = (By.XPATH,'//a[text()="下一页 >"]')
WebDriverWait(driver,10).until(EC.visibility_of_element_located(loc))
ele = driver.find_element(*loc)

"""第一种方法---将元素自动拖动到可见区域===查找元素无需考虑元素是否可见,只有操作时才需要元素可见"""
# ele.location_once_scrolled_into_view

"""第二种方法"""
#操作元素至可见区域
js_code = 'arguments[0].scrollIntoView()'
driver*ex.e**cute_script(js_code,ele)
#点击元素
driver.find_element(*loc).click()
"""第三种方法---使用js的scrollTo函数,通过坐标点等控制"""
driver*ex.e**cute_script('window.scrrollBy(0,400);')
"""第4种方法:设置滚动条距离顶部的位置"""
js = 'var action=document.documentElement.scrollTop=0'  # 回到顶部
js = 'var action=document.documentElement.scrollTop=10000' #回到底部