Реагируйте на перетаскивание с помощью python selenim / puppeteer - PullRequest
0 голосов
/ 06 февраля 2019

Мне нужно проверить перетаскивание, написанное в реакции 16.7.0.Я попытался использовать селен, а также кукловода.

Код кукловода выглядит следующим образом:

const temp_source = await iframe.$x("//div[@class='profile-item profile-item--draggable']//span[text()='pfsense_dut']")
const source = temp_source[0];

const temp_destination = await iframe.$x("//div[@class='component-network-diagram__diagram-layer']");

const destination = temp_destination[0];

const box_source = await source.boundingBox();
const box_destination = await destination.boundingBox();

await page.mouse.move(box_source.x + box_source.width / 2, box_source.y + box_source.height / 2);
await page.mouse.down();

await page.mouse.move(box_destination.x + box_destination.width / 2, box_destination.y + box_destination.height / 2, {steps:50});
await page.mouse.up();

Я вижу, что целевой элемент нажимается и перетаскивается над холстом (зона сброса), но ничегопроисходит при падении элемента.Также не выдается никаких ошибок или исключений.

Код для python с селеном:

def dragAndDrop(self):
    try:
        ActionChains(self.driver).drag_and_drop(div_source,canvas_destination).perform()
        return True
    except Exception as e:
        print (e)
        return False

При использовании python с селеном ничего не происходит: я даже не вижу выбранного целевого элемента.Используя python с селеном, я получаю исключение:

exception: 'str' object has no attribute 'id'

Я даже пытался использовать рекомендации из этого SO потока.Поведение такое же, как и у кукловода.

В чем может быть проблема с перетаскиванием?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...