当前位置: 首页 > 知识库问答 >
问题:

如何等待元素在Angular.js应用程序中可见?

阙沛
2023-03-14
 unknown error: Element <a id="user_dropdown" href="javascript:void(0);" class="dropdown-toggle" data-toggle="dropdown">...</a> is not clickable at point (1421, 33). Other element would receive the click: <md-backdrop ng-show="showMainSpinner" class="m-backdrop" aria-hidden="false">...</md-backdrop>
  (Session info: chrome=58.0.3029.110)
(Driver info: chromedriver=2.28.455520 
(cc17746adff54984afff480136733114c6b3704b),platform=Windows NT 10.0.14393 
x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 56 milliseconds
 Build info: version: '2.45.0', revision: 
 '5017cb8e7ca8e37638dc3091b2440b90a1d8686f', time: '2015-02-27 09:10:26'
[Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities \[{applicationCacheEnabled=false, rotatable=false, 
mobileEmulationEn][1]abled=false, networkConnectionEnabled=false, chrome=
 {chromedriverVersion=2.28.455520 
(cc17746adff54984afff480136733114c6b3704b), 
userDataDir=C:\Users\smistry\AppData\Local\Temp\scoped_dir56852_17781}, 
 takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, 
handlesAlerts=true, hasTouchScreen=false, version=58.0.3029.110,         
platform=XP, browserConnectionEnabled=false, nativeEvents=true, 
 acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, 
browserName=chrome, takesScreenshot=true, javascriptEnabled=true, 
cssSelectorsEnabled=true, unexpectedAlertBehaviour=}]
Session ID: 41ebcec742d22c760f65efb4bb06b7db

2)使用了显式wait(WaitForelementPresent/WaitForVisible/ElementTobeClickable/wait for invisibility of element等)(所有可能的尝试)

3)使用Java脚本(window.angular.element('body').injector().get('$http').PendingRequests.Length===0)

jQuery!typeof='undefined'

<md-progress-circular md-mode="indeterminate" md-diameter="70" class="m-spinner md-raised md-hue-2 md-mode-indeterminate" aria-valuemin="0" aria-valuemax="100" role="progressbar" style="width: 70px; height: 70px;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 70 70" style="width: 70px; height: 70px; transform-origin: 35px 35px 35px;"><path fill="none" style="stroke-width: 7px;" d="M21.583326164121,6.500125207614687A31.5,31.5 0 0,1 49.405589517818534,63.01301466540359"></path></svg></md-progress-circular>

真的很努力,从过去这么多天来找到解决办法。我希望你明白我的问题。如果遗漏了什么,我可以提供细节。我们将高度赞赏你的帮助。

共有1个答案

章承基
2023-03-14

3)使用Java脚本(window.angular.element('body').injector().get('$http').PendingRequests.Length===0)

jQuery!typeof='undefined'

文档.就绪状态

typeof angular!=“未定义”)

 类似资料:
  • 问题内容: 我试图让Selenium等待页面加载后动态添加到DOM的元素。试过这个: 如果有帮助,这里是: 但是它抛出一个-看起来像期望元素存在,所以这是有缺陷的。这一定是Selenium的面包和黄油,不想重新发明轮子……任何人都可以提出其他选择,理想情况下不用自己动手做? 问题答案: 需要等待时,您需要异常调用以忽略。 有关更多信息,请参见FluentWait文档。但是请注意,此条件已经在Exp

  • 我正在尝试在使用VueJs的单页应用程序中开发一个自动化测试,当我单击注册按钮时,页面加载了一个包含元素的表单,但是由于元素根据需要加载,它们不会自动出现在那里,我可以解决在单击注册按钮后放置driver.sleep的问题,但我正在寻找一种解决方法,我尝试了InluductEts和elisEnabled,但我无法得到结果,在这里检查我的代码: const { Builder, By, Key, 直

  • 我有一个动态加载的页面,其中包含一个按钮。我正在尝试等待selenium使用C#绑定点击按钮。我有以下代码: 不过这不管用。click事件永远不会被触发。selenium脚本不会抛出异常警告ID为“addInspectionButton”的元素不存在。它只是不能点击它。如果我加一根线。Sleep(3000)在wait语句和我获得按钮元素句柄的那一行之间。 我没有使用预期条件.元素在这里正确点击吗?

  • 问题内容: 我有一个用于量角器测试的登录功能,它看起来像这样: 我不能使用任何量角器专用的钩子,因为此页面上未使用Angular,因此我必须使用基础的webdriver API。问题是,我似乎无法弄清楚如何使用此包装的webdriver对象等到元素可见。任何帮助,将不胜感激。 问题答案: 尝试使用底层驱动程序的预期条件:

  • 所以我们有一页医学专科。它原本只是英文的。因此,如果您搜索“neuro”,则HTML看起来类似于 然后他们添加了西班牙语,所以并不是所有的结果都会返回,但是只有西班牙语是可见的。一个新的 > 添加在底部。 是否有方法等待任何匹配xpath的元素可见?注意,visibilityOfAllElements()将不起作用,因为它们不会全部可见。 我想可以做的是,预先计算所有带有@id和“width”的元

  • 我正在使用Android Espresso Web测试Android应用程序中的Web视图。它需要一些时间来完成与加载网站。在对元素执行单击操作之前,我需要等待它显示出来。我能用什么API吗?我不想使用sleep()方法。