React - Selenium - 测试项目 - 如何获取第 n 个元素

问题描述 投票:0回答:1

使用 C#,我正在使用 Selenium 编写单元测试(测试我的反应前端)...我的 html 是:

<article class="company-details-container">
   <div class="details-header">...</div>
   <div class="details-header">...</div>
   <div class="details-header">...</div>
   <div class="details-header">...</div>
   <div class="details-header">...</div>
</article>

我想单击最后一个 div 内的第一个元素... 我可以通过以下方式单击第一个 div 内的第一个元素...

IWebElement elementa = driver.FindElement(By.CssSelector(".details-header"));
IJavaScriptExecutor executor1 = (IJavaScriptExecutor)driver;
executor1.ExecuteScript("arguments[0].click()", elementa);

我已经尝试过

IWebElement elementa = driver.FindElement(By.CssSelector(".details-header[0]"));
但这不起作用。

请问有什么帮助吗?

c# reactjs selenium-webdriver nunit
1个回答
0
投票

// 找到最后一个带有 'details-header' 类的 div IWebElement lastDiv = driver.FindElement(By.CssSelector("div.details-header:last-of-type"));

// 查找最后一个div内的第一个子元素 IWebElement firstElementInLastDiv = lastDiv.FindElement(By.CssSelector(":first-child"));

//点击最后一个div内的第一个子元素 firstElementInLastDiv.Click();

© www.soinside.com 2019 - 2024. All rights reserved.