В настоящее время я тестирую веб-приложение GWT, похожее на MS Paint, и проблема, с которой я столкнулся, заключается в том, что мой тестовый пример проходит в таких браузерах, как Chrome, Firefox и IE, но, к сожалению, он не работает в браузере Microsoft Edge. Я не могу найти, как решить эту проблему после поиска по всему Интернету и опробования многих методов, которые написаны на переполнении стека и группах Google, я чувствую себя крайне безнадежно. Между тем, вот мой код:
public class Insert_Element_in_Edge {
private static WebDriver driver;
@Test
public void main() throws InterruptedException, IOException
{
// TODO Auto-generated method stub
System.setProperty("webdriver.edge.driver", "D:\\SELENIUM\\Drivers\\MicrosoftWebDriver.exe");
driver = new EdgeDriver();
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
driver.manage().window().maximize();
Thread.sleep(3000);
driver.get("xxxx.com");
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.titleContains("xxxx"));
WebElement canvas = driver.findElement(By.id("frontCanvas"));
Thread.sleep(3000);
final String InsertPath="//img[contains(@src,'Insert Element')]";
WebElement Insert = driver.findElement(By.xpath(InsertPath));
Thread.sleep(3000);
Insert.click();
}
}
Вот ошибка, с которой я столкнулся:
org.openqa.selenium.ElementNotVisibleException: элемент не отображается (ВНИМАНИЕ: сервер не предоставил никакой информации о трассировке стека)
Ниже приведен HTML-код элемента, который я пытаюсь найти в браузере Edge.
<div id="isc_2Q" eventproxy="isc_XXXIconButton_SClient_1" role="button" aria-label="xxx"
onfocus="isc.EH.handleFocus(isc_XXXIconButton_SClient_1,true);"
onblur="if(window.isc)isc.EH.handleBlur(isc_XXXIconButton_SClient_1,true);"
tabindex="1020" style="position: absolute; left: 0px; top: 54px; width: 40px;
height: 34px; z-index: 201152; padding: 0px; opacity: 1; overflow: visible;
cursor: pointer;" onscroll="return isc_XXXIconButton_SClient_1.$lh()" class="iconHoverZindex">
<div id="isc_2R"
eventproxy="isc_XXXIconButton_SClient_1" style="position: relative;
-webkit-margin-collapse: separate separate; visibility: inherit;
z-index: 201152; padding: 0px; cursor: pointer;">
<table role="presentation" cellspacing="0" cellpadding="0" width="40px" height="34px">
<tbody>
<tr>
<td nowrap="true" class="iconButton" style="background-color:transparent;"
align="center" valign="middle" onfocus="isc_XXXIconButton_SClient_1.$47()">
<img src="Insert Element.png" width="24" height="24" align="TEXTTOPundefined"
class="iconButtonHIcon" eventpart="icon" border="0"
suppress="TRUE" draggable="true"/>
<span style="vertical-align:middle;align-content:center;"></span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
Этот элемент виден в других 3 браузерах и успешно нажимается. Но я просто застрял в Edge. Кроме того, в Edge холст HTML5 также не отображается с помощью Selenium. Пожалуйста помоги.
HTML
я не могу найти ни один из элементов, то естьBy.id("frontCanvas")
, а также//img[contains(@src,'Insert Element')]
. Я что-то упускаю? - person DebanjanB   schedule 17.10.2017