java - 如何在 Selenium WebDriver 中使用 Java 单击标签名称 <a class </a> 的链接

标签 java selenium

我有下面的 HTML 代码,其中 <'ul'> 标签下有不同的 <'li' class> 标签。在 <'li'> 类标记中,我将有需要单击的标记。这些是网页中某些搜索的结果,其中所有项目将显示为带分页的列表。

我需要验证这是否存在?如果它存在于页面的第三个或第四个索引中,我需要单击该链接。请让我知道如何将所有这些项目放入数组中并循环它们,然后单击随机索引处的任何可用产品。

<ul id ="e1ResultsList">

<li class="e1ListingItem e1GrayShadow e1WhiteGradient e1ListingItemShow">
<div class="ribbon e1Hidden">
<div class="banner">
<div class="text">High Offer</div>
</div>
</div>

<span class="e1ListingImages">
<a class="`jsListingURL`" `href`="/event?`eventid`=7844">
<div class="e1SellerLogo e1Hidden"></div>
</span>
<span class="e1ListingDetails">
<div class="e1ListingTitle">
<a class="jsListingURL e1ListingTitleLink" href="/event?`eventid`=7844">vehicles and buses</a>
</div>

<span id="7844" class="" style="width: 100%;">enter code here
<div class="e1EventDetails">
<span class="e1EventInfo">
<div class="e1EventDescription">
<div class="e1EventID">
<div class="e1ListingCount">
<div class="e1ClosingDate">
<div class="e1EventHighlights">
</span>
</div>
</span>
</span>
</li>

<li class="e1ListingItem e1GrayShadow e1WhiteGradient e1ListingItemShow">
<div class="ribbon e1Hidden">
<span class="e1ListingImages">
<span class="e1ListingDetails">
<div class="e1ListingTitle">
<span id="7846" class="" style="width: 100%;">
</span>
</li>

<li class="e1ListingItem e1GrayShadow e1WhiteGradient e1ListingItemShow">
<div class="ribbon ribbon-white">
<span class="e1ListingImages">
<span class="e1ListingDetails">
<div class="e1ListingTitle">
<a class="jsListingURL e1ListingTitleLink" href="/listing?listingid=310786">2009 International 9200i Truck Tractor</a>
</div>
<span class="e1ListingInfo">
<span id="310786" class="e1ListingOffer" data-lastupdated="1430388219706">
</span>
</li>

<li class="e1ListingItem e1GrayShadow e1WhiteGradient e1ListingItemShow">
<div class="ribbon e1Hidden">
<span class="e1ListingImages">
<span class="e1ListingDetails">
<div class="e1ListingTitle">
<a class="jsListingURL e1ListingTitleLink" href="/listing?listingid=312207">2009 Mack CXU613 Vision Truck Tractor</a>
</div>
<span class="e1ListingInfo">
<span id="312207" class="e1ListingOffer" data-lastupdated="1430388219706">
</span>
</li>

</ul>

最佳答案

您可以使用以下命令获取页面上“a”标签 WebElements 的列表:

List<WebElement> aTagsList = driver.findElements(By.tagName("a"));

然后您可以根据需要迭代 aTagsList。

编辑: 要单击 aTagsList 中的第 4 个“a”标签 WebElement,您可以使用以下命令:

WebElement requiredElement = aTagsList.get(4);
requiredElement.click();

关于java - 如何在 Selenium WebDriver 中使用 Java 单击标签名称 <a class </a> 的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29965239/

相关文章:

javascript - 如何使用 Protractor 中的特定功能运行某些套件

java - Cucumber无法读取定义文件

javascript - 我可以在 Protractor 中使用 '>' css 选择器吗?

java - Selenium getText() 不工作

java - javadoc 注释中接口(interface)方法的标签?

java - 推送通知在 android studio 中不起作用

java - Spinner 不会在 webview 加载时消失 - android

Java Applet 设置颜色 Action 监听器

java - 如何在 Java 中初始化泛型变量?

python - 如何在 python 中获取 selenium chrome web 驱动程序中的状态代码