我是Selenium和JUnit的真正初学者,并尝试通过选择一个项目来验证下拉列表的功能 . Selenium使用动态id记录它,因此当尝试重新运行它时,它无法找到该元素 . 我在我的JUnit代码中尝试了一些方法,但我似乎无法做到正确 .
这是一个“查看”下拉列表,其中第一个项目是“主题”
这是我的HTML:
<div id="yui_3_16_0_1_1406046071286_1213" class="commontasks shaded">
<div id="pagetoolbar" class="hasnomsg hideReplyGroup">
<div id="match-messagelist-sizing">
<span id="btn-ml-cbox" class="btn btn-hdr cbox collapse-end-space" tabindex="0" aria-label="Select or deselect all messages [Ctrl+A]">
<span id="btn-select-dd" class="btn neoFocusable enabled" aria-label="Select or deselect categorized messages" aria-haspopup="true" role="button" data-action="select-dd">
<span id="btn-conv-view" class="btn btn-absolute btn-view-dd" data-action="menu" title="More view options" aria-haspopup="true" role="button">
<span id="yui_3_16_0_1_1406046071286_1215" class="icon-text">View</span>
<b id="yui_3_16_0_1_1406046071286_1212" class="icon icon-chevron-down"></b>
</span>
</div>
</div>
-
我尝试使用以下代码打开列表:driver.findElement(By.xpath(“/ html / body / div [7] / div [3] / div [4] / div [2] / div 1 / div [2] / DIV / DIV / Span [3] / b“))点击();但是当我从Eclipse运行测试时,它成功完成,但我没有看到列表打开 . 有没有办法从这里继续并从列表中选择一个项目?
-
我尝试使用选择选项:选择选择=新选择(driver.findElement(By.xpath(“/ html / body / div [6] / div [3] / div [4] / div [2] / div 1 / div [2] / div / div / span [3] / span [text()= 'View'] "))); But recieved the following error: org.openqa.selenium.support.ui.UnexpectedTagNameException: Element should have been " select " but was " span“
我非常感谢你的评论 .
谢谢
1 回答
假设id(yiu- *)是动态的,我使用的是CSS Selector . 请尝试以下代码:
对于第二个问题,您只能对Select类使用HTML的SELECT元素 . 由于错误清楚地表明您正在尝试在SPAN元素上使用它 .