【发布时间】:2016-09-30 03:27:34
【问题描述】:
下面是我的 selenium 测试用例的代码 sn-p,我使用 select 方法从下拉列表中选择一个值。下一步是点击提交。但是当我尝试点击提交按钮时,页面没有刷新(这将刷新同一页面),抛出
元素不可点击,StaleElementReference 异常
。唯一适合我的解决方案是thread.sleep()。
我尝试了以下所有选项,但没有运气:(
explicit wait(),wait.until(Exceptedcontions.visibility),element to be clickable() 等,尝试了网络上的所有解决方案。
我不得不在一个测试用例中使用thread.sleep() 3-4 次,而且我有大约 100 个测试用例,这花费了很多时间。
Web 驱动程序等待页面完全刷新并且 DOM 完全加载后再单击提交按钮的任何工作解决方案。
@Test
@Timeout(group = Group.SLOW)
public void testProvider() throws InterruptedException {
proceedToProvider();
new Select(driver.findElement(By.id("searchId"))).selectByVisibleText("Search");
Thread.sleep(2000);
driver.findElement(By.id("btnSubmit")).click();
timeSplit("Search submitted");
以下是我在使用其他解决方案时看到的错误。
org.openqa.selenium.WebDriverException:未知错误:元素不是 在点 (1289, 141) 处可点击。其他元素会收到点击: (会话信息:chrome=53.0.2785.116)(驱动程序信息: 铬驱动程序=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),平台=Windows NT 6.1 SP1 x86_64) (警告:服务器未提供任何堆栈跟踪 信息)命令持续时间或超时:168毫秒构建信息: 版本:'2.49.1',修订: '808c23b0963853d375cbe54b90bbd052e2528a54',时间:'2016-01-21 09:37:52' 系统信息:主机:'ALAKASIMA01-W7L',ip:'10.145.45.233', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_73' 驱动信息: org.openqa.selenium.remote.RemoteWebDriver 功能 [{applicationCacheEnabled=false, 可旋转=false, mobileEmulationEnabled=false,chrome={chromedriverVersion=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4), userDataDir=C:\Users\kasima01\AppData\Local\Temp\scoped_dir6628_12218}, 需要HeapSnapshot=true,databaseEnabled=false,handlesAlerts=true, hasTouchScreen=false,版本=53.0.2785.116,平台=XP, browserConnectionEnabled=false,nativeEvents=true, acceptSslCerts=true,locationContextEnabled=true, webStorageEnabled=true,browserName=chrome,takeScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] 会话 ID: 8bf0b4cc7efc715015509f4be345d14d
【问题讨论】:
标签: selenium-webdriver wait page-refresh