robotframework selenium出错:WebDriverException:消息:在异步脚本

时间:2018-01-09 16:57:32

标签: selenium robotframework

机器人框架硒的错误: -

方案: 通过Robotframework自动化脚本更新网页上的元素时,页面会刷新并且元素会更新。

  • 对于镀铬布鲁斯 - 代码正常工作
  • 对于IE(11)浏览器,当上述场景发生页面刷新时。发生异常并且自动化脚本执行失败。

错误消息

WebDriverException: Message: Page reload detected during async script

*记录

  

11:17:09.064 TRACE参数:[   “xpath =。// [@ name ='adapter_name'] //选项[包含(。,'ADPT-1AX')]”]
  11:17:09.064 INFO单击元素   '的xpath = //
[@名称=' ADAPTER_NAME '] //选项[含有(。,' ADPT-1AX ')]'。
  11:17:09.064调试发布   http://127.0.0.1:60462/session/47657269-6060-405d-929d-aewfyuefuiux/elements   {“using”:“xpath”,“sessionId”:   “47657269-6060-405d-929d-aewfyuefuiux”,“value”:   ” .//*[@name='adapter_name']//option[contains(.,'ADPT-1AX')]“}
  11:17:09.164调试完成请求11:17:09.165调试发布   http://127.0.0.1:60462/session/47657269-6060-405d-929d-aewfyuefuiux/execute   {“sessionId”:“47657269-6060-405d-929d-aewfyuefuiux”,“args”:   [{ “元素6066-11e4-a52e-4f735466cecf”:   “8ffad05f-25db-4b70-821b-f395fd70359e”,“ELEMENT”:   “8ffad05f-25db-4b70-821b-f395fd70359e”}],“脚本”:   “arguments [0] .scrollIntoView()”} 11:17:09.248 DEBUG完成   请求11:17:09.249调试帖子   http://127.0.0.1:60462/session/47657269-6060-405d-929d-aewfyuefuiux/element/8ffad05f-25db-4b70-821b-f395fd70359e/click   {“sessionId”:“47657269-6060-405d-929d-aewfyuefuiux”,“id”:   “8ffad05f-25db-4b70-821b-f395fd70359e”} 11:17:11.641调试     完成请求11:17:12.142调试发布   http://127.0.0.1:60462/session/47657269-6060-405d-929d-aewfyuefuiux/element   {“using”:“标签名称”,“sessionId”:   “47657269-6060-405d-929d-aewfyuefuiux”,“value”:“html”}
  11:17:12.697调试完成请求11:17:12.697调试   http://127.0.0.1:60462/session/47657269-6060-405d-929d-aewfyuefuiux/element/9f198a5c-56e2-4358-bb44-cb39930f3a8b/enabled   {“sessionId”:“47657269-6060-405d-929d-aewfyuefuiux”,“id”:   “9f198a5c-56e2-4358-bb44-cb39930f3a8b”} 11:17:13.233调试     完成请求11:17:13.234调试发布   http://127.0.0.1:60462/session/47657269-6060-405d-929d-aewfyuefuiux/execute_async {“sessionId”:“47657269-6060-405d-929d-aewfyuefuiux”,“args”:[],   “script”:“if(!window.jQuery){var   一个= document.getElementsByTagName( '头')[0];无功   B =使用document.createElement( '脚本'); b.type = '文本/ JavaScript的'; b.src = document.location.protocol + '// code.jquery.com/jquery-1.11.3.min.js'; a.appendChild(b);} VAR   CB =参数[的arguments.length-1];如果(window.angular){风险   $损伤;尝试{$ = INJ angular.element(document.querySelector( '[数据-NG-应用],[NG-APP] ,. NG-范围')||文件).injector()|| angular.injector ([ 'NG'])}赶上(EX){$ = INJ angular.injector([ 'NG'])}; $ inj.get = $ inj.get || $损伤; $ inj.get('$浏览器“).notifyWhenNoOutstandingRequests(函数(){CB(真)})}其他{CB(假)}“      11:17:13.739调试完成请求11:17:13.808失败     WebDriverException:消息:在异步脚本期间检测到页面重新加载      11:17:13.809 DEBUG Traceback(最近一次调用最后一次):文件   在click_element文件中,“”,第2行   “C:\ Python27 \ LIB \站点包\ Selenium2Library \关键字\ keywordgroup.py”   第15行,在_run_on_failure_decorator中       return方法(* args,** kwargs)文件“C:\ Users \ user1 \ eclipse-workspace \ RobotWorkspace \ Projects \ Library \ ExtendedSelenium2Library \ keywords \ extendedelement.py”,   第57行,在click_element中       self._wait_until_page_ready()文件“C:\ Users \ user1 \ eclipse-workspace \ RobotWorkspace \ Projects \ Library \ ExtendedSelenium2Library \ keywords \ extendedwaiting.py”,   第421行,在_wait_until_page_ready中       响应['response'] = self._wait_until_script_ready(浏览器,超时,脚本,* args)文件   “C:\用户\ USER1 \ Eclipse的工作空间\ RobotWorkspace \项目\库\ ExtendedSelenium2Library \关键字\ extendedwaiting.py”,   第435行,在_wait_until_script_ready中       response = browser.execute_async_script(script,* args)文件“c:\ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py”,   第564行,在execute_async_script中       'args':converted_args})['value']文件“c:\ Python27 \ lib \ site-packages \ Selenium2Library \ webdrivermonkeypatches.py”,   第11行,执行中       result = self._base_execute(driver_command,params)文件“c:\ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py”,   第308行,执行中       self.error_handler.check_response(response)文件“c:\ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py”,   第194行,在check_response中       raise exception_class(message,screen,stacktrace)11:16:07.972 TRACE参数:[]

1 个答案:

答案 0 :(得分:-1)

此错误消息...

WebDriverException: Message: Page reload detected during async script

...表示 ChromeDriver 无法与浏览上下文 Chrome浏览器会话进行交互。

有关以下内容的更多详细信息:

本来可以帮助我们更好地分析问题。

但是,根据Page reload detected during async script. What does this mean?中的文档,此错误表示:

在浏览器中有命令挂起时发生了导航或重载事件。通常,这是因为单击操作或导航导致页面加载。量角器试图等待Angular变得稳定,但由于重新加载而中断。

解决方案

作为解决方案,您可能需要插入browser.wait条件以确保加载完成后再继续。