Я делаю проект автоматизации для своей организации. Я использую Firefox веб-браузер для этой цели. Код работает нормально, но застрял в одной точке между программами. Проблема связана с нажатием на веб-элемент. With selenium code 1.I have to first click on complete task 2. After clicking on complete task submit option appears on webpage and I have to click on submit button as shown in image
. ![Here is image when I click on complete task](https://i.stack.imgur.com/xpebM.jpg)
Как видно на этом рисунке, когда я нажимаю на завершенное задание, оно показывает информацию о полном элементе задания. Далее я должен нажать на кнопку «Отправить», но из-за этой подсказки программа не может нажать на элемент «Отправить».
Ниже следует Html из Complete task
элемента
Ниже следует html элемента отправки
<td class="completeTaskDropdown"><nobr>submit</nobr></td>
<nobr>submit</nobr>
При отладке программы, программа показывает, что она нажала на завершенную задачу и кнопку отправки, но на самом деле в веб-браузере она не нажала ни на одну из них. Я испробовал все возможные способы решения этой проблемы, но не смог получить правильный ответ. Ниже приведен краткий фрагмент кода для вышеуказанной задачи
firefoxProfile = webdriver.FirefoxProfile()
firefoxProfile.set_preference("plugin.state.flash", 2)
firefoxProfile.update_preferences()
driver = webdriver.Firefox(firefoxProfile, executable_path=r'drivers\geckodriver.exe')
actions = ActionChains(driver)
complete_task = wait.until(EC.element_to_be_clickable((By.XPATH, "//img[@name='WFCompleteTask']")))
driver.execute_script("return arguments[0].scrollIntoView(true);", complete_task)
driver.execute_script("arguments[0].click();", complete_task)
submit = wait.until(EC.element_to_be_clickable((By.XPATH, "//nobr[contains(text(),'submit')]")))
driver.execute_script("arguments[0].click();", submit)
Я также пробовал Actionchains и ручной щелчок также -
ActionChains(driver).move_to_element(submit).click(submit).perform()
Также пробовал
complete_task.click()
submit.click()
Но, к сожалению, ни один метод не работает для нажатия кнопки complete_task и после этого кнопки отправки. При переполнении стека я нашел код jquery, но он также не работает для сокрытия или удаления подсказок. Ниже приведен код
driver.execute_script("""
unction hideTips(event) {
var saveAlt = $(this).attr('alt');
var saveTitle = $(this).attr('title');
if (event.type == 'mouseenter') {
$(this).attr('title','');
$(this).attr('alt','');
} else {
if (event.type == 'mouseleave'){
$(this).attr('alt',saveAlt);
$(this).attr('title',saveTitle);
}
}
}
$(document).ready(function(){
$("a").live("hover", hideTips);
}); """)
Но приведенный выше код не работает. Пробовал мой код в браузере Inte rnet Explorer, но такая же проблема возникает и в Inte rnet Explorer. Как скрыть эти всплывающие подсказки с веб-страницы или если скрыть всплывающие подсказки невозможно, чем получить щелчок по завершенной задаче и кнопке отправки с помощью сценария автоматизации.
Примечание. На прошлой неделе этот проект и нажатие работали нормально. но из-за изменения кода с помощью пользовательского интерфейса (добавление всплывающих подсказок на веб-страницу командой этого инструмента) этот щелчок не выполняется