Мой сценарий селена (python) выполняет определенную работу на веб-сайте, который является панелью мониторинга, т.е. фактическая веб-страница / ссылка не изменяется, когда я взаимодействую с элементами этой панели. Я упоминаю об этом, поскольку я подумал о том, чтобы просто переключаться между различными ссылками с помощью команды driver.get (), чтобы избежать некоторых проблем, которые у меня возникают сейчас.
В какой-то момент скрипт достигает части панели инструментов, которая по какой-то причине во время некоторых моих тестовых прогонов имеет элемент, а в других случаях этот элемент отсутствует. У меня есть несколько строк, которые взаимодействуют с этим элементом так же, как и с другим элементом, который я хотел бы .click (). Поэтому, когда этот элемент отсутствует, мой скрипт перестает работать. Это сценарий, который будет повторять те же действия с небольшими изменениями в начале, поэтому мне нужно каким-то образом интегрировать какую-то команду «если», я думаю.
Моя цель - написать что-то, что делает это: - Если этот элемент НЕ присутствует, пропустите строки кода, которые взаимодействуют с ним, и перейдите к следующей строке действия. Если элемент присутствует, очевидно, продолжайте.
day = driver.find_element_by_xpath('/html/body/div[4]/table/tbody/tr[4]/td[2]/a')
ActionChains(driver).move_to_element(day).click().perform()
driver.implicitly_wait(30)
lizard2 = driver.find_element_by_xpath('/html/body/div[5]/div/div[2]/div[1]/img')
ActionChains(driver).move_to_element(lizard2).perform()
x2 = driver.find_element_by_xpath('/html/body/div[5]/div/div[2]/div[2]')
ActionChains(driver).move_to_element(x2).click().perform()
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
Таким образом, блок, начинающийся с 'lizard2' и переходящий к строке ActionChains, является блоком, взаимодействующим с этим элементом, который иногда становится очевидным, иногда когда сценарий перемещается назад и вперед, выполняя задачу.
Две верхние строки - это всего лишь код, который приводит меня к фазе панели мониторинга, в которой есть этот случайно появляющийся элемент. И команда прокрутки в конце, это то, что следует. Как упоминалось ранее, мне нужно игнорировать среднюю часть и перейти к части прокрутки, если эти элементы 'lizard2' и 'x2' не найдены.
Я прошу прощения, если это сбивает с толку и не очень лаконично, я рады услышать, что вы, ребята, думаете, и предоставить любую дополнительную информацию / детали, спасибо!