Почему я получаю синтаксическую ошибку в селене относительно xpath? - PullRequest
1 голос
/ 27 мая 2019

Я абсолютный новичок в программировании и пытаюсь найти элемент из веб-инструмента, используя Selenium и Python.Мне пришлось искать относительный путь, поскольку абсолютное значение пути DIV постоянно меняется.Используя ChroPath, я нашел относительный путь.

Абсолютный путь: / html / body / div [4] / div / div / div / div / div [5] / div / div [31] / div /table / tbody / tr [2] / td [2] / div / div / table / tbody / tr / td / div

здесь элемент, который находится в div [31], иногда становится div [30] или div[32].Я искал в Интернете и обнаружил, что мне нужно искать относительный путь вместо абсолютного пути.

Итак, я попробовал метод относительного пути.

HTML-строка:

// div class = "vp-btnc-text" xpath = "1"> CS-CORE CapacityПланирование

Относительный путь, предоставленный Chropath: // div [содержит (text (), 'Планирование емкости CS-CORE')]

Моя строка в коде, который я пытаюсь выполнить: driver.find_element_by_xpath ('// div [содержит (text (), 'Планирование емкости CS-CORE')] '). click ()

Я получаю следующую ошибку: driver.find_element_by_xpath (' // div [содержит (текст)(), 'CS-CORE Capacity Planning')] ') ^ SyntaxError: неверный синтаксис

Нужна помощь, чтобы решить проблему, пожалуйста.

1 Ответ

0 голосов
/ 27 мая 2019

Может быть добавить явное время ожидания или неявное ожидание Пример:

WebElement messageElement = wait.until( ExpectedConditions.presenceOfElementLocated(By.id("AnotherElementBeforeThisElementIsLoaded")) );

или неявное ожидание:

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

Также

driver.findElement(by.xpath(//divclass='vp-btnc-text' xpath='1'>CS-CORE Capacity Planning));

Иногда вам нужно заменить двойные кавычки на одинарные для xpath.

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