2017-02-21 10 views
-1

table imageнужен селен код веб-драйвера для удаления

я попытался это одно:

driver.findElement(By.xpath(".//a[contains(.,'terw')]")).findElement(By.xpath(".//img[@id='delete_fully_img'])")).click(); 

но не работает, мой код:

<table id="Table_1" class="dataTable" aria-describedby="Table_1_info" style="width: 100px;"> 
<thead> 
    <tr class="header" role="row"> 
     <td class="sorting_disabled" role="columnheader" rowspan="1" colspan="1" style="width: 213px;">Point Name</td> 
     <td class="sorting_disabled" role="columnheader" rowspan="1" colspan="1" style="width: 149px;">Description</td> 
     <td class="sorting_disabled" role="columnheader" rowspan="1" colspan="1" style="width: 150px;">Date Added</td> 
     <td class="sorting_disabled" role="columnheader" rowspan="1" colspan="1" style="width: 46px;"/> 
    </tr> 
</thead> 
<tbody role="alert" aria-live="polite" aria-relevant="all"> 
    <tr class="odd"> 
     <td class=" "> 
      <a id="attachment_title_382" slider_number="0" onclick="AddPoints('edit', '382', '');" href="javascript:void(0);">terw</a> 
     </td> 
     <td class=" "/> 
     <td class=" ">02/21/2017</td> 
     <td class=" "> 
      <img id="delete_fully_img" onclick="deletePoint('', '382', '382', '0');" title="Delete Point" style="height:17px;width:17px;" src="http //close_icon.png"/> 
     </td> 
    </tr> 
    <tr class="even"> 
     <td class=" "> 
      <a id="attachment_title_301" slider_number="0" onclick="AddPoints('edit', '301', '1');" href="javascript:void(0);">1</a> 
     </td> 
     <td class=" "/> 
     <td class=" ">02/15/2017</td> 
     <td class=" "> 
      <img id="delete_fully_img_1" onclick="deletePoint('', '301', '301', '0');" title="Delete Point" style="height:17px;width:17px;" src="http //close_icon.png"/"/> 
     </td> 
    </tr> 
</tbody> 

+1

Вопрос не ясно, пожалуйста, добавить дополнительные детали или удалить вопрос, если он был задан по ошибке , – user3251882

+0

По ошибке? Это действительно так? Мне просто интересно, если кто-то перейдет на этот сайт и идет «oops, я просто поместил все это по ошибке». – RSon1234

+0

Читать сообщение. http://stackoverflow.com/help/how-to-ask –

ответ

0

Попробуйте любой из приведенных ниже кодов.

Объяснение: Использование атрибута класса для tr тега, попробуйте сначала найти элемент текста, как 02/21/2017 используя text метод. Затем двигайтесь вперед с тегом img, используя ключевое слово following.

driver.findElement(By.xpath("//tr[@class='odd']/td[contains(text(), '02/21/2017')]/..//following::img[@id='delete_fully_img']")).click(); 

ИЛИ

driver.findElement(By.xpath("//tr[@class='odd']/..//following::img[@id='delete_fully_img']")).click(); 

ИЛИ

driver.findElement(By.xpath("//img[@id='delete_fully_img']")).click(); 

ИЛИ

driver.findElement(By.xpath("//tr[@class='odd']//img[@id='delete_fully_img']")).click(); 

ИЛИ

driver.findElement(By.xpath("//tr[@class='odd']//child::img[@id='delete_fully_img']")).click(); 
+0

спасибо, что это сработало, в этом драйвере.findElement (By.xpath ("// tr [@ class = 'odd']/td [содержит (текст() , '02/21/2017 ')] /..// следующее :: img [@ id =' delete_fully_img '] ")). Click(); можно ли вместо имени указать имя вместо даты? – user3847594

+0

Нет, вы не можете поместить имя, потому что тэг 'td' содержит только« дату »здесь. См. Html ' 02/21/2017' И если он решил ваш ответ, пожалуйста, отметьте этот ответ как принятый. –

+0

Я создал новый 'xpath'. но это сложнее понять. попробуйте этот xpath: - 'driver.findElement (By.xpath (" // tr [@ class = 'odd']/td/a [содержит (text(), 'terw')] /..// next-sibling :: td [содержит (text(), '02/21/2017 ')] /..// next-sibling :: td/img [@ id =' delete_fully_img '] ")). click();' –

0

Используйте XPath: // tr [содержит (@class, "even")] // td/img [содержит (@id, "delete_fully_img_1") и содержит (@title, «Удалить точку»)] Надеюсь, что это сработает для вас.

0

Попробуйте это ниже: -

driver.findElement(By.xpath("//img[@id='delete_fully_img']")) 

ИЛИ

driver.findElement(By.xpath("//tr[@class='odd']//img[@id='delete_fully_img']")) 

ИЛИ

driver.findElement(By.xpath("//img[@id='delete_fully_img']/ancestor::tr[@class='odd']")) 
+0

Здравствуйте @Paras, ваши оба xpath не будут работать, потому что вы нацеливаете тег 'a'. но внутри 'html' этот атрибут id содержит тег' img'. –

+0

ohh мой плохой ..обновленный – Paras

+0

ваш последний xpath не будет работать здесь, потому что ваш xpath найдет всю строку, поэтому вместо использования ключевого слова 'ancestor' используйте ключевое слово' child', поэтому он найдет только конкретную кнопку значка удаления. см. мой последний ответ с ключевым словом 'child'. –

 Смежные вопросы

  • Нет связанных вопросов^_^