Как написать xpath для тега с именем onclick в selenium

#java #html #selenium #xpath #onclick

#java #HTML #селен #xpath #onclick

Вопрос:

Я пытаюсь щелкнуть вкладку, которая доступна в меню приложения, но как только я пытаюсь захватить этот веб-элемент через xpath, он не работает и выдает ошибку «не удается найти элемент».

Выражение HTML выглядит следующим образом:

 td width="132" height="37" align=center class="passive" id="2" style="CURSOR: hand" onclick="submit2(2)" rowSpan="1" colSpan="1" 
  

xpath не работает для этого действия щелчка.

 driver.findElement(By.xpath("//td[@onclick='submit2(2)']")).click();
  

Комментарии:

1. Вместо того, чтобы предоставлять созданный вручную HTML, обновите вопрос фактическим HTML и трассировкой стека ошибок

2. вопрос ясен

3. У вас есть идентификатор, почему бы не использовать его? Вы пробовали ждать? Вы убедились, что элемент не находится внутри IFRAME ? Обновите свой вопрос различными попытками решить проблему и опубликуйте полное сообщение об ошибке.

Ответ №1:

Не видя table полностью и с предположением, что, возможно, исходный html немного неправильный. Со следующим html;

   <width="132" height="37" align=center class="passive" id="2" style="CURSOR: hand" onclick="submit2(2)" rowSpan="1" colSpan="1">
  

Я могу использовать this xpath для определения местоположения элемента, и при условии, что он достаточно уникален, чтобы не ошибочно принять его за другой элемент с тем же onclick значением, это может помочь.

 //*[@onclick='submit2(2)']
  

Однако мне не удалось создать фиктивную таблицу со следующим действительным HTML-кодом. Не стесняйтесь редактировать свой исходный пост с помощью окружающего html, и я исправлю его соответствующим образом 🙂