簡體   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