Как получить символ emoji из строки emoji [duplicate]

WebDriverException: элемент не кликабельен в точке (x, y)

Это типичный org.openqa.selenium.WebDriverException , который продолжается java.lang.RuntimeException.

Поля этого исключения:


О вашей индивидуальной usecase ошибка сообщает все:

WebDriverException: Element is not clickable at point (x, y). Other element would receive the click 

Из вашего кодового блока видно, что вы wait определены как WebDriverWait wait = new WebDriverWait(driver, 10);, но вы вызываете метод click() для элемента до того, как ExplicitWait вступает в игру, как в until(ExpectedConditions.elementToBeClickable).

Решение

Ошибка Element is not clickable at point (x, y) может возникать из-за разных факторов. Вы можете обратиться к ним с помощью одной из следующих процедур:

1. Элемент не получает клика из-за присутствия JavaScript или вызовов AJAX

Попробуйте использовать Actions Класс:

WebElement element = driver.findElement(By.id("navigationPageButton"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().build().perform();

2. Элемент не получает щелчок, поскольку он не находится в пределах Viewport

Попробуйте использовать JavascriptExecutor, чтобы привести элемент в Viewport:

WebElement myelement = driver.findElement(By.id("navigationPageButton"));
JavascriptExecutor jse2 = (JavascriptExecutor)driver;
jse2.executeScript("arguments[0].scrollIntoView()", myelement); 

3. Страница становится обновленной до того, как элемент становится доступным.

В этом случае вызывают ExplicitWait i.e WebDriverWait, как указано в пункте 4.

4. Элемент присутствует в DOM, но не доступен для клика.

В этом случае вызывать ExplicitWait с ExpectedConditions, установленным на elementToBeClickable, для элемента, который можно щелкнуть:

WebDriverWait wait2 = new WebDriverWait(driver, 10);
wait2.until(ExpectedConditions.elementToBeClickable(By.id("navigationPageButton")));

5. Элемент присутствует, но имеет временное наложение.

В этом случае вызывать ExplicitWait с ExpectedConditions, установленным на invisibilityOfElementLocated, чтобы наложение было невидимым.

WebDriverWait wait3 = new WebDriverWait(driver, 10);
wait3.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("ele_to_inv")));

6. Элемент присутствует, но имеет постоянный Overlay.

Используйте JavascriptExecutor, чтобы отправить клик непосредственно на элемент.

WebElement ele = driver.findElement(By.xpath("element_xpath"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", ele);
0
задан Aditya Vyas-Lakhan 7 April 2016 в 10:53
поделиться

1 ответ

Наконец, я нашел решение.

Вы можете получить unicode из emoji с помощью commons-lang-2.5 jar

Проверить код для emoji для unicode.

String textVal=edtpost.getText().toString();
String newval_unicode=StringEscapeUtils.escapeJava(textVal);

Вы можете найти Uni-код из этого строка.

Этот ответ поможет другим.

1
ответ дан Amee Joshi 28 August 2018 в 18:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: