我正在制作一些可重用的方法来定位页面中的图像元素。我无法通过XPath找到,因为XPath在每个页面上都会有所不同。最好,我希望能够通过src访问它们,但不确定这是否可行。 C#。下面的代码显示了两个图像元素。我正试图访问第二个。
<span id="tube"> <img class="mode-icon" title="Train: Tube" height="42" alt="Tube" src="/images/Tube.png"> </span>
<span id="Overground"> <img class="mode-icon" title="Train: Overground" height="42" alt="Overground" src="/images/Overground.png"> </span>
答案 0 :(得分:0)
首先,您应区分绝对 XPath
(已修复,例如html/div/div/.../div/img
)和相对 XPath
(灵活,例如//div/img[@id="some_img_id"]
)。良好的亲戚XPath
可以匹配多个页面上的必需元素
如果您希望将目标img
与src
属性值匹配,则可以使用以下XPath
:
string imgSrc = "/images/Overground.png";
string imgXpath = String.Format("//img[@src = {0}]", imgSrc);
相同XPath
表达式,您可以将其用于imgSrc
答案 1 :(得分:0)
如果您想使用src
属性访问
使用CSSSelector -
img[src='/images/Overground.png']
使用XPath
//img[@src='/images/Overground.png']
如果修复了你的页面中只有2个图像标记,那么你也可以使用索引 -
//span[2]/img