selenuim+python自学笔记20190220

上一篇 / 下一篇  2019-02-20 13:42:53

20190119跑去学习css\xpath定位去了,然后信心满满的去12306网站试了一下,结果我认为12306是使我学习进阶的网站。
今日份学习都是昨日份教训:
等待网页加载时间,否在等你执行定位代码的时候定位的元素却没有加载出来,就会报错,好的测试脚本是必须要有等待的
一,强制等待、隐式等待、显示等待
1,强制等待sleep(n)
强制让浏览器等待n秒,不管当前操作是否完成,都必须等n秒的时间。
#从模块selenuim中导入包webdriver
fromseleniumimportwebdriver
#导入sleep包,强制等待
fromtimeimportsleep
#选择浏览器谷歌
driver=webdriver.Chrome()
#浏览器中输入地址用webdriver.chrome()中的get方法
driver.get('http://www.baidu.com')
#浏览器等待5秒
sleep(5)
#等待5秒后定位元素,如果5秒后所需要的页面元素没有加载出来会报错
begin=driver.find_element_by_css_selector("#kw")
#输入内容
begin.send_keys('成都')
2,隐式等待implicitly_wait()
#从模块selenuim中导入包webdriver
fromseleniumimportwebdriver
#选择浏览器谷歌
driver=webdriver.Chrome()
#浏览器中输入地址用webdriver.chrome()中的get方法
driver.get('http://www.baidu.com')
#隐形等待,等待15秒
driver.implicitly_wait(15)
#最长等待15秒,如果15秒之内所需要的页面元素没有加载出来会报错
begin=driver.find_element_by_css_selector("#kw")
#输入内容
begin.send_keys('成都')


3,显示等待webdriverwait
#从模块selenuim中导入包webdriver
fromseleniumimportwebdriver
#导入WebDriverWait包,显式等待
fromselenium.webdriver.support.uiimportWebDriverWait
#导入判断元素expected_conditions
fromselenium.webdriver.supportimportexpected_conditions
#选择浏览器谷歌
driver=webdriver.Chrome()
#浏览器中输入地址用webdriver.chrome()中的get方法
driver.get('http://www.baidu.com')
begin=driver.find_element_by_css_selector("#kw")
#显示等待,等待15秒,每隔一秒检查一次元素是否加载完成,until是判断
元素是否加载成功的方法
WebDriverWait(driver,15,1).until(expected_conditions.presence_of_element_located(begin))
#输入内容
begin.send_keys('成都')

我觉得抛出异常的判断元素什么的今天硬是学不下去了,后面再来


TAG:

 

评分:0

我来说两句

日历

« 2024-04-26  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 2383
  • 日志数: 3
  • 建立时间: 2019-02-18
  • 更新时间: 2019-02-21

RSS订阅

Open Toolbar