1
我對Selenium相對較新,它的功能到目前爲止,我發現它只是用於Web應用程序自動迴歸測試的工具。對於這個迴歸測試套件來說,我正在構建我遇到問題的過程。在Web應用程序中,我有一個顯示帶有一些行的Jquery Datatable的頁面。每行都與上下文菜單綁定。這個彈出窗口是浮動在最上面的Z順序上的DIV,絕對定位全部由Jquery控制。Selenium複製鼠標移動&點擊
我在硒試圖做的是在物理上使用這個菜單,以便我能夠扭曲與適當的迴歸測試。使用Actions類來調用上下文菜單已經取得了一些成功。我無法做的是讓鼠標移動到菜單項目可以點擊它們。我一直在嘗試使用MoveByOffset方法,但我似乎沒有任何運氣可以讓它點擊菜單中的任何東西。我也沒有辦法確定鼠標當前所在頁面的位置,因此無法證明實際發生了什麼。
任何幫助或建議,將受到感謝。
感謝您提前一切。
這是我目前用來試圖驅動這個上下文菜單的代碼。 MoveByOffset中的值實際上是每個組合10 & -10。嘗試點擊第一個菜單項。
public void ClickAction_myPOTSIcontextmenu(IWebElement Row)
{
Actions builder = new Actions(this._driver);
IAction action = builder.MoveToElement(Row).ContextClick().MoveByOffset(-10,-10).Click().Build();
action.Perform();
}
能顯示您所嘗試的操作鏈的例子嗎? Actions類很強大,但學習起來可能很棘手。 –
我已經用我嘗試使用的代碼更新了我的主要問題。可能太簡單,因爲它本身很好。 – ToxicBlotch
謝謝你,非常有幫助。 當通過實驗使用'.MoveByOffest()'時,我發現移動的像素來自之前'elements'位置的指針位置。所以有時候'MoveByOffset()'需要考慮到這一點。然而,既然你說'DIV元素'被揭示出來了,'div'中是否有正常的'elements',你可以通過這種方式找到並進行交互?例如:'builder.MoveToElement(Row).MoveToElement(_driver.FindElement(By.Id(「id」)。Click().Build()。Perform();' –