繁体   English   中英

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

[英]How To Automate "Right click" event in Selenium IDE and opening the link in New window/tab

我将 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>

我不能做的是:右键单击链接,然后在新窗口中打开该链接。

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

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

如果您想了解录制右键单击,请尝试单击此处

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

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

controlKeyDown ( ) 

//code for clicking the link

controlKeyUp ( ) 

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

如果您已将 Firefox 配置为打开新选项卡而不是新窗口,则以下会在新选项卡中打开 URL。

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

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

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

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

el.dispatchEvent(eventContextMenu);

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

PS: 链接到 GitHub 线程中的原始答案

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM