我想选择并单击当鼠标移动到网页上的文本或可见文本时通过下拉列表可见的选项之一。
所以基本上我将鼠标移动到下面的html页面中的文本“浏览”,然后我得到一个不同的选项,比如“页面”、“博客”。
因此,为了选择或单击“浏览”,我使用(在 Selenium 2.21.0 中):
driver.findElement(By.xpath("//a[@id='browse-menu-link']/span")).click()
.
有没有一种方法可以让我在不知道他们的 ID 的情况下选择其余选项(因为他们的 ID 可以更改或名称可以更改)。我可以按索引移动和选择不同的选项吗?
即我的要求是下拉菜单中可以有 4 个选项或 5 个选项。我不在乎他们的名字,只要他们在“浏览”文本下。
在 html 页面中,这些隐藏选项在鼠标移动或在“浏览”处单击时变得可见,其类名称为:
ajs-drop-down hidden
在其他具有相同类名的下拉菜单下还有其他隐藏选项,因此按类名选择元素会出错。
这是 HTML 代码/页面:
<head>
<body id="com-test" class="" onload="placeFocus()">
<div id="full-height-container">
<fieldset class="hidden parameters">
<fieldset class="hidden parameters">
<div id="header" class="">
<form id="quick-search" class="quick-search" action="/dosearchsite.action" method="get">
<fieldset>
<legend>Quick Search</legend>
<input id="quick-search-query" class="quick-search-query placeholded" type="text" size="25" name="queryString" autocomplete="off" accesskey="q">
<input id="quick-search-submit" class="quick-search-submit" type="submit" value="Search">
<div class="aui-dd-parent quick-nav-drop-down"></div>
</fieldset>
<fieldset class="hidden parameters">
<input id="quickNavEnabled" type="hidden" value="true">
</fieldset>
</form >
<ul id="header-menu-bar" class="ajs-menu-bar">
<li class="normal ajs-menu-item">
<a id="browse-menu-link" class="browse trigger ajs-menu-title" href="#">
<span>
**<span>Browse</span>**
</span>
</a>
<div class="ajs-drop-down hidden" hidden="" style="">
<ul id="browse-menu-link-leading" class="section-leading first">
<li class="">
<a id="space-pages-link" class="" title="Attachments: 5" href="/pages/listpages.action? key=UNI">
**<span>Pages</span>**
</a>
</li>
<li class="">
<a id="space-blogposts-link" class="" title="Attachments: 5" href="/pages/viewrecentblogposts.action?key=UNI">
**<span>Blog</span>**
</a>