Я пытаюсь щелкнуть селеном в Internet Explorer, но он не работает. Я пробовал element.click(), moveToElement(element).click().build().perform(), javascript и ничего.
На самом деле щелчок иногда срабатывает. Это действительно нестабильно. Я также пробовал подождать, пока не станет кликабельным, Thread.sleep и, знаете, ничего не изменится.
Я использую Selenium 3.4.0, IEDriverServer_x64_3.0.0, ie11 и java.
@Bendram Я проверил уровень масштабирования. Я не могу предоставить HTML, потому что код взят из моей работы, но он действительно нестабилен. Иногда ошибка в одном месте, иногда в другом ... Но дело в том, что селен явно щелкает элемент, но не распознает, а затем тест продолжается. Ошибка возникает из-за того, что ie не находит элемент, к которому предполагается получить доступ после того, как этот первый элемент был нажат.
Если вы не можете опубликовать реальный исходный код, не могли бы вы попробовать опубликовать его очищенную версию? Все, что мы можем сделать с текущим описанием, - это предположить и проверить стандартные процедуры устранения неполадок.
Единственное, что вы можете сделать, - это ЖДАТЬ элемента, а также перемещаться по смещению.
seleniumActions.MoveToElement (PageObject) .MoveByOffset (xOffs et, yOffset) .Click (). Build (). Perform ();
@ Hashim77 Это не сработало. :(
Ну а смещение было правильное? А вы ждали, пока отобразится элемент?
@ Hashim77 Да: wait.until(ExpectedConditions.elementToBeClickable(element)); action.moveToElement(element).moveByOffset(element.getLocation().getX(), element.getLocation().getY()).click().build().perform();, а также: if (element.isDisplayed()){ action.moveToElement(element).moveByOffset(element.getLocation().getX(), element.getLocation().getY()).click().build().perform(); }




Я где-то видел это решение, и оно сработало для меня:
wait.until(ExpectedConditions.visibilityOfElementLocated(locator))
element.sendKeys("");
element.click();
Я не понимаю, что на самом деле делает element.sendKeys(""), но это нормально.
вы проверили уровень масштабирования 100%? вам необходимо предоставить HTML-код и фактический журнал ошибок, чтобы определить проблему.