from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
element = WebDriverWait(driver,5,0.5).until(
EC.visibility_of_element_located((By.ID,"kw")))
element.send_keys('selenium')
driver.quit()
from time import sleep,ctime
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")print(ctime())for i inrange(10):try:
el=driver.find_element_by_id("kw22")if el.is_displayed():breakexcept:pass
sleep(1)else:print("time out")print(ctime())
driver.quit()
1.2隐式等待
from time import ctime
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
driver = webdriver.Chrome()#设置隐式等待为10s
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")try:print(ctime())
driver.find_element_by_id("kw22").send_keys('selenium')except NoSuchElementException as e:print(e)finally:print(ctime())
driver.quit()
2.定位一组元素
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.cn")
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
sleep(2)#定位一组元素
texts = driver.find_elements_by_xpath("//div[@tpl='se_com_default']/h3/a")#计算匹配结果个数print(len(texts))#循环遍历出每一条搜索结果的标题for t in texts:print(t.text)
driver.quit()