webdriver显示等待,隐式等待,强制等待
class Testclick():
def setup(self):
self.driver=webdriver.Chrome()
self.driver.maximize_window()
#隐式等待10秒
self.driver.implicitly_wait('10')
def teardown(self):
self.driver.quit()
def test_fromele(self):
self.driver.get('https://www.baidu.com')
self.driver.find_element_by_id('kw').send_keys('企业微信')
self.driver.find_element_by_id('su').click()
self.driver.find_element_by_xpath('//*[@id="1"]/h3/a').click()
f=self.driver.window_handles
self.driver.switch_to.window(f[1])
#强制等待2秒
time.sleep(2)
self.driver.find_element_by_link_text("立即注册").click()
#显示等待,等待可点击元素出现
WebDriverWait(self.driver,30).until(
expected_conditions.element_to_be_clickable((By.ID,"corp_industry")))
self.driver.find_element_by_id('corp_industry').click()
显示等待:等待到某个条件出现进行下一步,直到设置的30s,WebDriverWait类配合until()和until_not()和expected_conditions类,客户端
隐式等待:设置一个等待时间,轮询查找元素是否出现,全局变量,服务器端
强制等待:必须等待多长时间