如何在Selenium IDE中自动执行“右键单击”事件并在新窗口/选项卡中打开链接

时间:2013-01-02 07:12:35

标签: selenium selenium-ide right-click

我正在使用Selenium IDE进行谷歌搜索方案。

1 open google

2 then  type "india" and click on the search button

3 then go to any link and right clicking on that link 
  and open that link in new tab or window 

到目前为止我所做的是

<tr>
    <td>open</td>
    <td>/</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=gbqfq</td>
    <td>india</td>
</tr>
<tr>
    <td>click</td>
    <td>id=gbqfb</td>
    <td></td>
</tr>
<tr>
    <td>contextMenu</td>
    <td>//*[@id='rso']/li[3]/div/h3/a</td>
    <td> </td>
</tr>

我无法做到的是:右键点击该链接,然后在新窗口中打开该链接。

任何人都可以建议需要做什么。

5 个答案:

答案 0 :(得分:0)

“右键单击该链接,然后在新窗口中打开该链接”这是浏览器功能而不是页面功能..这就是为什么您无法在IDE中记录它。

如果您想知道录制右键单击,请尝试点击here

答案 1 :(得分:0)

您可以按Ctrl键并单击该链接,以便在新选项卡中打开它。

要在Selenium IDE中使用控制键,请使用以下关键字。

controlKeyDown ( ) 

//code for clicking the link

controlKeyUp ( ) 

答案 2 :(得分:0)

你可以获取该链接的href属性,然后使用openWindow()命令在新窗口中打开它

答案 3 :(得分:0)

如果您已将Firefox配置为打开新标签而不是新窗口,则会在新标签页中打开网址。

storeAttribute | link-locator-here | myURLvariableName |
getEval | window.open( storedVars.myURLvariableName, '_blank' /* or tab target name*/ ); |

答案 4 :(得分:0)

经过几天的研究,我终于找到了通过execute script命令在Selenium IDE中模拟右键单击的方法:

const el = document.querySelector('CSS_SELECTOR_GOES_HERE');

const eventContextMenu = new MouseEvent('contextmenu', {
    bubbles: true,
});

el.dispatchEvent(eventContextMenu);

这里的窍门是bubbles: true是必需的参数。

PS:Link to original answer in GitHub thread

enter image description here