2015-09-28 41 views
1

如何覆蓋硒使用C#的方法Click()。 如下目前我使用Click方法 -如何覆蓋selenium Click()方法

driver.FindElement(By.ClassName("overflow-wrapper")).Click(); 

在調用腳本Click方法,硒應該調用由我重寫Click方法。

謝謝。 Amol。

+1

你爲什麼要重寫click()方法。如果您在該方法中執行任何點擊操作,則必須將每個元素都設爲全局,然後在其中執行點擊操作。 –

+0

實際上,在IE11上執行腳本時,.Click()方法不起作用。所以我想實現下面的重寫方法ILocatable clickItem =(ILocatable)item; IMouse鼠標=((IHasInputDevices)驅動程序)。鼠標; mouse.Click(clickItem.Coordinates); –

+0

click()方法將適用於所有瀏覽器,如果這不起作用,可能是您的瀏覽器存在問題。我發佈IE瀏覽器相關的答案,一旦檢查。 –

回答

0

除非它被標記爲虛擬(並且不是),否則不能覆蓋此方法。

如果你想擁有自己的點擊方法,你可以簡單地創建它。

如果你想擁有它你IWebElement類,那麼你可以將它添加到類下一個辦法:

public static IWebElement Click(this IWebElement element) 
     { 
      //here is your implementation 
      return element; 
     } 

這個方法必須是靜態類。所以用這種方法你只需要添加一個方法即可。

+0

我的測試套件中有400多個腳本。 Click方法對於Mozilla Firefox瀏覽器正常工作。但在IE上執行這些腳本時;點擊方法不起作用。所以我解決了 - ILocatable clickItem =(ILocatable)項目; IMouse鼠標=((IHasInputDevices)驅動程序)。鼠標; mouse.Click(clickItem.Coordinates); 。現在我想用這個解決方法代替click方法(這對Firefox和IE都有效),這樣我的框架中就會有最小的變化 –

+0

看來,使用擴展名可以使用方法的相同名稱,以便覆蓋它。 –

+0

如何編寫重寫的方法。 –