Требуемый элемент является динамическим, поэтому вы должны вызвать WebDriverWait для требуемого ElementToBeClickable , и вы можете использовать любую из следующих стратегий локатора в качестве решения. :
Использование CSS_SELECTOR
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "td.datagridCellStyle img[onload*='gwtLastUnhandledEvent'][src*='demoreports/DemoReportsApp/clear']"))).click()
Использование XPATH
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//td[contains(@class, 'datagridCellStyle')]//img[contains(@onload, 'gwtLastUnhandledEvent') and contains(@src, 'demoreports/DemoReportsApp/clear')]"))).click()
Примечание : необходимо добавить следующий импорт:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Я нашел книгу "Развертывающееся Применение направляющих", очень полезное. Особенно глава, "Развертывающаяся в Windows". Это дает Вам шаг за шагом инструкции развернуть приложение направляющих с помощью Apache и Полукровки
Можно следовать этому учебному руководству, это получит Вас установка, можно на самом деле управлять сервером Полукровки как службой Windows (запустите/остановите/перезапустите, запуститесь на начальной загрузке, справьтесь программно и т.д. и т.д.):
Как установить полукровку как собственную службу Windows
Я в настоящее время использую этот метод для управления экземпляром Redmine на поле Windows, и это работает замечательно.
Удачи!