Как выбрать область в Mapbox с помощью Selenium с Java?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как выбрать область в Mapbox с помощью Selenium с Java?

Сообщение Anonymous »

Я работаю над автоматизацией выбора области на карте Mapbox, используя Selenium с Java. Я пробовал несколько подходов, в том числе использование класса Action и JavaScript, но ни один из них пока не сработал.
Ниже приведены методы, которые я пробовал:
Метод 1. Использование JavaScriptExecutor

Код: Выделить всё

clickOnCanvasMethod1(WebElement canvas, int x, int y) {
JavascriptExecutor js = (JavascriptExecutor) driver;
String script = "var canvas = arguments[0];"
+ "var rect = canvas.getBoundingClientRect();"
+ "var x = arguments[1];"
+ "var y = arguments[2];"
+ "canvas.dispatchEvent(new MouseEvent('click', {"
+ "    clientX: rect.left + x,"
+ "    clientY: rect.top + y,"
+ "    bubbles: true"
+ "}));";
js.executeScript(script, canvas, x, y);
}
Метод 2: использование класса действия

Код: Выделить всё

clickOnCanvasMethod2(WebElement canvas) {
Actions actions = new Actions(driver);
actions.moveToElement(canvas, 200, 200)
.clickAndHold()
.moveByOffset(100, 100)
.release()
.perform();
}
Метод 3. Использование JavaScript для событий мыши

Код: Выделить всё

clickOnCanvasMethod3(WebElement canvas) {
JavascriptExecutor js = (JavascriptExecutor) driver;
String script = "var canvas = arguments[0];"
+ "var rect = canvas.getBoundingClientRect();"
+ "canvas.dispatchEvent(new MouseEvent('mousedown', {"
+ "    clientX: rect.left + 200,"
+ "    clientY: rect.top + 200,"
+ "    bubbles: true"
+ "}));"
+ "canvas.dispatchEvent(new MouseEvent('mousemove', {"
+ "    clientX: rect.left + 300,"
+ "    clientY: rect.top + 300,"
+ "    bubbles: true"
+ "}));"
+ "canvas.dispatchEvent(new MouseEvent('mouseup', {"
+ "    clientX: rect.left + 300,"
+ "    clientY: rect.top + 300,"
+ "    bubbles: true"
+ "}));";
js.executeScript(script, canvas);
}
Ни один из этих методов не работает должным образом.
URL-адрес ссылки: Пример рисования MapboxМожет ли кто-нибудь помочь мне определить проблему или предложить альтернативный подход к выбору области на карте?
Спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/792 ... -with-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»