对于点击后需要等待一段时间才会有的元素的操作

这几天在写自动化的过程中遇见了需要先点击其他,然后需要等待一会的元素。昨天试了好几种方法都没成功。一开始使用isdispaly()方法,但一直报错。

就是这个样子。后来我在sleep的下一行打印了i,发现其实在if的时候程序已经退出。好吧,改成先等待30s(隐式等待跟显式都使用了),还是不行。

好了 ,废话到此。上解方法。

首先,编写一个检查元素是否存在的函数。这个竟然存在我的工程中。真是前人种树后人乘凉。 或者参考这个网页。http://uniquepig.iteye.com/blog/1703553

public static boolean isElementExsit(WebDriver driver,By selector) {
            boolean result=false;
            try {
                driver.findElement(selector);
                result=true;
            }
                catch (Exception ex) {
                logger.error(ex.getMessage());
                result=false;
            }
            return result;
        }

然后愉快的写一个for循环就好了。

 1     for (int i = 0; i < 30; i++) {
 2         String a="/html/body/div[1]//p";
 3         boolean flag=isElementExsit(driver, By.xpath(a));
 4         logger.log(""+flag);//打印是否发现元素
 5         if (flag) {
 6             String re = driver.findElement(By.xpath(a)).getText();
 7             break;
 8
 9         }
10         Sleeper.sleep(1);
11     }
时间: 2024-08-29 03:54:58

对于点击后需要等待一段时间才会有的元素的操作的相关文章

关于在Qt里让程序休眠一段时间的方法总结

出处:http://hanzhaoxin.cnblogs.com/ Qt 为何没有提供 Sleep 论坛上不时见到有人问: Qt 为什么没有提供跨平台的 sleep 函数? 使用平台相关的 Sleep 或 nanosleep 以后,界面为什么没有反应? QThread 中提供了protected 权限的 sleep 函数,如何用到主线程中? 使用 QTest 中的 qSleep,在windows下如何隐藏控制台? 这些问题其实归结为一点:在主线程中使用这些函数是一种错误,这会直接导致界面无法刷新

2.1 暂停一段时间

问题需要让程序(以异步方式)等待一段时间.这在进行单元测试或者实现重试延迟时非常有用.本解决方案也能用于实现简单的超时. 解决方案Task 类有一个返回Task 对象的静态函数Delay,这个Task 对象会在指定的时间后完成. Delay方法的重载: public static Task Delay(TimeSpan delay); public static Task Delay(TimeSpan delay, CancellationToken cancellationToken); pu

VC解决方案,项目,开发一段时间启动调试很慢,半天才开始链接

笔者这两天写代码过程中,发现自己解决方案下的程序启动调试,半天才开始加载相关的各种库.导致调试的时候很是郁闷 开始以为是项目关联的工程太多导致,但是在相同的解决方案sln下面,新建一个简单的控制台程序同样启动很慢.而该控制台项目程序加载到其他的解决方案中,调试时很快 就开始加载各种库. 问题大致定位在解决方案本身的问题.具体原因没有找到,笔者暂时的做法是重新建立一个解决方案,把需要的工程加载进来,速度哗哗的上去了. VC解决方案,项目,开发一段时间启动调试很慢,半天才开始链接,布布扣,bubuk

为QNetworkAccessManager添加超时提醒(自己记录一段时间里的下载字节数,用定时器去定期检测,从而判断是否超时)

在做更新,在测试异常的时候,在下载过程中,发现如果直接系统禁用了网络,会报错误,可以捕获.但是如果是第三方软件限制程序联网,问题来了. 程序会一直在那里等待,没有异常,也不发送QNetworkAccessManager::finsh和QNetworkReply::error和QNetworkReply::finsh信号. 所以动念头为下载加个超时,但是QNetworkAccessManager,QNetworkReply和QNetworkRequest都没有相关的设置函数.其实仔细想一下,也没有

关于过去的这段时间

如何评价过去的三个月呢?过程很辛苦,结果比较满意吧- 正式开始找工作之前,我一直很担心自己找不到工作,从一开始研究生生涯,我就给自己定了目标--找工作,但是同时呢,也对自己的未来深深的担忧,因为导师从来不接项目,一心一意做实验,发论文.所以我一度跟男友说,以后就靠你养我了,男友每次都说木有问题,必须养你!玩笑归玩笑,工作总是要找的!而男友也是坚定信念找工作的,所以他都一直很注重自己的提高.同时也带动了我. 总结这个准备过程的话,就一句话,找准优势,提前准备,善于表达! 我记得大概是去年师姐找工作

如何利用晚上八点到十点这段时间自我提升

学会如何充分利用业余时间进行自我提升. 这其实是三个问题,第一是如何充分利用时间,第二是提升什么,第三是如何提升. 如何充分利用业余时间 假设5点半下班,一直到晚上11点上床睡觉,至少有4个小时可以利用.这段时间可以拿来做任何想做的事,比如学习.兼职.锻炼身体等等. 首先,需要将碎片时间整合为大块时间.   碎片时间,虽然可以利用,但只适于获取信息,不适于思考. 说到这里大家可能已经发现,其实这些手段无非都是用金钱换时间.这么做是因为时间的价值比我们想象的要大的多,钱没有了还可以再赚,时间没有了

快到这段时间的终点了。。。

总结一下自己最近的问题. (1)生活 比较懒散,学习了一段时间前端以后,渐渐忘记了实际上是一个写C++的.应该有时间的时候,写点C++的代码,试着解决一些复杂一点算法, 应该向——向总学习,最近一个月搞定了2个机器学习的算法,额,惭愧,应该花点时间撸一撸算法的.最近还是过的太懒散了. (2)学习的惯性应该保持,时刻保持一颗学习的心,这个行业大部分都是平庸的人.只有极少数才是行业领袖,业界精英.所以,能坚持到最后的,都有机会 成为行业精英,所以,最好比的是时间,因为除了极少数的天才,大部分都是靠时

松口气,近一段时间的工作学习情况

公司的工作最近又小松口气,其实剩下的事情还不少,但是框架已经成型,接下来硬骨头还有很多,但是吃一个就少一个,这就不太怕了. 去年开始做这套类似Blue Print的图脚本的时候没想到虚幻能这么快就开放,项目推行类Blue Print时也就没有太激进,图本身的出发点是自然语言,而不是程序语言,带有不少Coroutine的概念,结果现在就有点被动了.自己做出的图表系统无论怎么看,从组织上和方便程度上都不能跟UE4相提并论,所以--现在压力略大. 不过坚持到最后能实施成这样子,而且得到了部分策划的支持

这段时间大量网站被k的原因分析

百度这次更新的K站幅度比较大,通过对被k网站的分析,没有发现文章类型网站有降权现象,主要集中在企业网站上.分析大约30发个网站发现共同明显的特征就是这样的网站有大量的页面只有一张或者两张图片,而这些网站在之前的关键词表现都不错,都是出现在内容页的质量问题上. 很多人之前看到表现不错 所以即使明白问题的所在也不愿意去修改.如果这样的页面占比较大,即使现在是有排名的网站也需要立即进行页面质量的改善.网页的相似度高.无内容页面充斥.少内容页面.大量无ALT描述页面.样板文字过多页面.内容知道了,但是如