Я абсолютный новичок в программировании и пытаюсь найти элемент из веб-инструмента, используя 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 / стол / TBODY / тр / тд / дел
Здесь элемент, который находится в div [31], иногда становится div [30] или div [32]. Я искал в Интернете и обнаружил, что мне нужно искать относительный путь вместо абсолютного пути.
Поэтому я попробовал метод относительного пути.
Строка HTML:
// div class = "vp-btnc-text" xpath = "1"> Планирование емкости CS-CORE
Относительный путь, предоставленный Chropath: // div [содержит (text (), «Планирование мощностей CS-CORE»)]
Моя строка кода, которую я пробую, выглядит так: driver.find_element_by_xpath ('// div [содержит (text (),' CS-CORE Capacity Planning ')]'). Click ()
Я получаю сообщение об ошибке: driver.find_element_by_xpath ('// div [содержит (text (),' Планирование емкости CS-CORE ')]') ^ SyntaxError: неверный синтаксис
Нужна помощь, чтобы решить проблему, пожалуйста.
2 ответа
Может быть, добавить явное время ожидания или неявное ожидание Пример:
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.
Вставьте xpath внутри двойных кавычек, как показано ниже.
driver.find_element_by_xpath("//div[contains(text(),'CS-CORE Capacity Planning')]").click()
Похожие вопросы
Новые вопросы
selenium
Selenium - это популярный инструмент с открытым исходным кодом для автоматизации веб-браузеров. При использовании этого тега также включайте другие теги для конкретных компонентов, которые вы используете, например, селен-вебдрайвер для языковых привязок, selenium-ide, selenium-grid и т. д.