所以我在下面的html代码中有一个包含37个Logos的网页,我需要在“alt”属性中提取Text。
HTML代码如下:
<div class="logo__wrapper col-6 col-sm-4 col-md col-xl -gutter-bottom">
<div data-lazy="true" data-src="https://www.talkdesk.com/app/themes/talkdesk-com/assets/images/logos/ibm.svg" data-alt="ibm" data-class="logo">
<img src="https://www.talkdesk.com/app/themes/talkdesk-com/assets/images/logos/ibm.svg" alt="ibm" class="logo" data-load="lazy"></div>
</div>
我的C#如下:
IReadOnlyCollection<IWebElement> customersPresent = driver.FindElements(By.XPath("//div[@class='logo__wrapper col-6 col-sm-4 col-md col-xl -gutter-bottom']"));
Assert.Greater(customersPresent.Count, 0);
string[] customersArray = new string[customersPresent.Count];
int conta = 0;
foreach (IWebElement clientes in customersPresent)
{
customersArray[conta] = clientes.FindElement(By.TagName("div")).GetAttribute("data-alt");
conta++;
TestContext.Progress.WriteLine("Logos Name Customers Page: " + customersArray[conta]+ "Conta" +conta);
}
代码运行正常,但在31次代码失败后,我收到以下消息:
消息:OpenQA.Selenium.NoSuchElementException:没有这样的元素:无法找到元素:{“method”:“tag name”,“selector”:“div”}
我不能选择你能帮帮我吗?
我会尝试以下方法。
IReadOnlyCollection<IWebElement> customersPresent = driver.FindElements(By.XPath("//div[@class='logo__wrapper col-6 col-sm-4 col-md col-xl -gutter-bottom']/doc"));
现在直接为每个选举集合获取'data-alt'属性