ImageTag existe en el TR?
EDITAR:
public bool getImage()
{
IWebElement table = driver.FindElement(By.Id("DIV_ID_1"));
string name = String.Format("//*[contains(text(), \'{0}\')]", 'TEST1');
IWebElement element = table.FindElement(By.XPath(name));
IWebElement parent = element.FindElement(By.XPath(".."));
try
{
IWebElement image = element.FindElement(By.XPath("//img"));
}
catch (NoSuchElementException e)
{
return false;
}
return true;
}
¿Cómo sabría si elTEST1
si tieneImage
? en el código fuente de html a continuación, tengo tr y dentro de tr tengo td y algunos tr pueden tener una etiqueta de imagen y otros no
Entonces, voy a pasar el nombre de un ejemplo:TEST1
y en las devoluciones esperaré si el nombre tiene etiqueta de imagen o no.
de nuevo, si pasoTEST2
yTEST3
deberíareturn
null
ya que no tiene una etiqueta de imagen y donde comoTEST1
yTEST4
si tieneImage tag
Por lo tanto, debería devolverme la verdad.
Probé algo como esto pero no funcionó:
string name = String.Format(".//td[contains(., \'{0}\')]/..//@src", "TEST1");
IWebElement element = driver.FindElement(By.XPath(name));
Recibe este error: después de probar el código anterior ...
La expresión xpath '.// td [contiene (.,' TEST1 ')] /..//@ src' no se puede evaluar o no resulta en un elemento web
A continuación se muestra el código fuente html
<div id="DIV_ID_1">
<table id="TBLID1">
<tr>
<td>
TEST1
</td>
<td>
<img id="ctl00" src="../App_Themes/Default/images/phone.gif" />
</td>
</tr>
<tr>
<td>
TEST2
</td>
</tr>
<tr>
<td>
TEST3
</td>
</tr>
<tr>
<td>
TEST4
</td>
<td>
<img id="ctl02" src="../App_Themes/Default/images/phone.gif" />
</td>
</tr>
</table>
</div>