Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于图像名称或链接名称的图像列表的Selenium链接_Selenium_Selenium Ide - Fatal编程技术网

基于图像名称或链接名称的图像列表的Selenium链接

基于图像名称或链接名称的图像列表的Selenium链接,selenium,selenium-ide,Selenium,Selenium Ide,我有一个菜单功能区,它是由标记构建的,子列表是隐藏的,直到单击上层列表。如何识别此图像的目标,以便单击它 <li class="rbnsel"> <div class="rbl" href="option/index?lfeCyc=Active"> <img src="../icn/op.png"> </img> Options </div> 及 对于我应该用什么来确定目

我有一个菜单功能区,它是由标记构建的,子列表是隐藏的,直到单击上层列表。如何识别此图像的目标,以便单击它

<li class="rbnsel">
    <div class="rbl" href="option/index?lfeCyc=Active">
        <img src="../icn/op.png">
        </img>
        Options
    </div>

对于我应该用什么来确定目标的建议,我将不胜感激

编辑:

我添加了触发要创建的链接的javascript。。因此,我的Selenium IDE表源代码如下

<tr>
<td>selectWindow</td>
<td>null</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>link=Publish</td>
<td></td>
</tr>
<tr>
<td>runScript</td>
<td>var path = $(this).attr('href'); if (e.which == 1 &amp;&amp; !e.ctrlKey) {window.location = getCsBaseUrl() + &quot;/&quot; + path;} else {csNewWindow(path);</td>
<td></td>
</tr>
<tr>
<td>MouseOver</td>
<td>//div[contains(@class, 'rbl') and text()='Options']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[contains(@class, 'rbl') and text()='Options']</td>
<td></td>
</tr>
我猜可能是我的顺序或代码错了,我尝试了所有可能的组合,但没有运气

WebElement we = driver.findElement(By.cssSelector("div.rbl img"));
那你就可以做了

string attr = we.getAttribute("src");

希望这会有所帮助

我已经捏造了一个解决方案,但只是对有问题的链接使用了open命令。它不是一个标准的mouseover,mousedown操作集,但是现在它可以做-

ie命令“打开”和目标:

/option/index

这是一个标记,为什么在xpath表达式中使用?是的,我明白你的意思,我的错//div[contains@class,'rbl'和text='Options']似乎有效,但点击链接还没有成功..谢谢@bcar,我正在使用Selenium IDE,我的新手了解WebElement是用于WebDriver编码的-正确吗?我已经确定使用以下目标条目可以正确地找到我需要的映像://div[contains@class,'rbl'和text='Options']但是鼠标悬停和单击命令不足以执行链接,我怀疑我需要解决一些javascript问题。。。hmmWebElement表示dom元素。您可能需要JS驱动程序来单击,但是如果您能够使用上面的xpath获取webelement,那么我假设您可以单击。你能发布更新的codeHi@bcar吗,Selenium正确地“找到”了图像,但点击似乎不起作用。可能需要您建议的JS驱动程序。。这是Selenium IDE表的源代码:MouseOver//div[contains@class,“rbl”和text='Options']单击//div[contains@class,“rbl”和text='Options']
string attr = we.getAttribute("src");
/option/index