編集:
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;
}
TEST1
持っているかどうかはどうすればわかりますImage
か?以下のhtmlソースコードでは、私はtrを持っており、tr内にはtdがあり、一部のtrには画像タグがあり、一部にはない場合があります
したがって、例として名前を渡します。TEST1
戻り値では、名前にImageタグが含まれているかどうかを確認します。
繰り返しになりますが、合格TEST2
しTEST3
た場合return
null
、画像タグがないため、また、そうである場合はTEST1
、trueを返す必要TEST4
があります。Image tag
私はこのようなことを試みましたが、うまくいきませんでした:
string name = String.Format(".//td[contains(., \'{0}\')]/..//@src", "TEST1");
IWebElement element = driver.FindElement(By.XPath(name));
このエラーが発生します:上記のコードを試した後...
xpath式'.//td [contains(。、' TEST1')] /..//@src'を評価できないか、WebElementになりません
以下は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>