background : Arrears before reissue ,17 It was written locally in , Never uploaded
This is python+selenium Three ways to wait for elements of
''' Abnormal explanation try: open("abc.txt",'r') print(aa) except BaseException as msg: print(msg) '''
#coding=utf-8
from selenium import webdriver
from time import ctime
driver = webdriver.Firefox()
# Set implicit wait to 10s
driver.implicitly_wait(10)
driver.get('http://www.baidu.com')
try:
print(ctime())
driver.find_element_by_id("kw222").send_keys("selenium")
except Exception as e:
print(e)
finally:
print(ctime())
driver.quit()
# Close the browser
#coding=utf-8
# Explicit waiting
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
# Import except_conditions class , And name it EC
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
ele = WebDriverWait(driver,5,0.5).until(
EC.presence_of_element_located((By.ID,'kw'))
)
''' WebDriveWait By webdrive Wait method provided , Within the set time , By default, it detects whether the current element exists on the page every time , If the timeout , Throw an exception drive: Browser driven 5: Maximum timeout 0.5: Time between tests WebDriveWait General coordination until and until_not Method in combination with until: Call the driver provided by this method as a parameter , Until the return value is ture until_not: Call the driver provided by this method as a parameter , Until the return value is false In this case ,persence_of_element_located yes except_conditions One way , This method is to determine whether the element is added to the current html in ; '''
ele.send_keys('selemium')
driver.quit()
# Close the browser