Webdriver似乎无法在最初找到的页面上选择webelement
(按钮),但在遍历多个页面时返回到同一页面,selenium webdriver
找不到相同的对象。
情况就像,我在主页并通过添加.isDisplayed()
这样的方法进行验证 -
if (isElementPresent("(//input[@name='sbqq__editlines'])[1]") == true)
{
System.out.println("YES, reached on Quote page");
if (objApprovalBlk.findElement(By.xpath(".//table[@class='list']")).isDisplayed())
{
List<WebElement> rows = objApprovalBlk.findElement(By.xpath(".//table[@class='list']")).findElements(By.xpath(".//tr"));
List<WebElement> rows = objApprovalBlk.findElement(By.xpath(".//table[@class='list']")).findElements(By.xpath(".//tr"));
...now if rows are present with text 'Requested' then a link has to be clicked on that row and workflow takes the user to multiple page of Apporval !
driver.findElement(By.xpath("//input[@value='Approve']")).click();
///Reaching back to QUOTE page now ! ---NOT WORKING FROM HERE !
tmpElement = new WebDriverWait(driver, 100)
.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@name='sbqq__editlines'])[1]")));
tmpElement = null;
}else{
System.out.println("Didn't reached Quote Page !");
}
因此,在返回主页时,同一个对象//input[@name='sbqq__editlines'])[1]
无法识别。以下是我收到的例外情况:
org.openqa.selenium.TimeoutException:100秒后超时 等待元素可点击:By.xpath: //输入[@名称= 'sbqq__editlines'])[1]
我无法理解这背后的问题,驱动程序引用过时的对象,或者当我点击Quote主页上的链接时,它不是直接来自驱动程序对象而是其他东西,因此我可能需要刷新驱动程序宾语。我刚从selenium
来自HP UFT
背景时开始 var objectLabel = new cc.Sprite("res/rect.png", cc.rect(0, 0, 100, 100));
setTimeout(function(){this.addChild(objectLabel, 5)}.bind(this), 600);
,所以想到刷新对象是我对该问题的第一次评估。