Selenium Webdriver 3 无法识别标准 Salesforce 查找弹出窗口中的对象



我正在使用Selenium Webdriver通过它自动化Salesforce应用程序。 测试场景: - 在帐户页面上,单击"查找"(帐户(搜索图标时,将打开标准 Salesforce 搜索弹出窗口。我无法切换窗口。

WebDriver popup=driver;
//Click on the Search icon of Account Lookup
element = driver.findElement(By.id("j_id0:formId:j_id29:j_id53:j_id54:3:j_id55_lkwgt"));
String Parent_Window = driver.getWindowHandle();
Set<String> handles =  driver.getWindowHandles();
System.err.println("No of windows :  " + handles.size());
element.click();
for (String s : handles){
String windowHandle = s;
popup = driver.switchTo().window(windowHandle);
System.out.println("Window Title : " + popup.getTitle());
System.out.println("Window Url : " + popup.getCurrentUrl());
if (popup.getTitle().contains("Salesforce")){
System.out.println("Selected Window Title : " + popup.getTitle());
driver = popup;
driver.switchTo().frame("searchFrame");
driver.findElement(By.id("lksrch")).sendKeys("Google");
driver.switchTo().frame("resultsFrame");
//Selecct account for search Account.
driver.findElement(By.xpath(".//*[@id='Account_body']//tr[2]/th")).click();
break;
}
}
driver.switchTo().window(Parent_Window);
return element;

使用此移动到框架。

driver.switchTo().frame(driver.findElement(By.xpath(".//iframe[@src='yourFrameSourceFromHTML']")));

当帧没有任何 ID 时,这很有用。

最新更新