2010-07-27 6 views
1

Pour modifier le contenu d'une cellule, vous devez double-cliquer dessus. Cependant avec webdriver, ils n'ont pas de fonction double-clic dans l'API. Sinon, comment puis-je changer le contenu de la cellule?Webdriver: interagir avec la grille

Répondre

1

De quelle grille parlez-vous? Pour la plupart des grilles, il y a une fonction JavaScript pour commencer à éditer une cellule.

De toute façon, vous pouvez tirer un double clic avec un JavaScript. En supposant que le l'element est un IWebElement sur lequel vous souhaitez cliquer deux fois:

Pour la InternetExplorerDriver:

((IJavascriptExecutor)driver).ExecuteScript(
    "arguments[0].fireEvent('ondblclick')", element); 

Pour la FirefoxDriver et 'ChromeDriver':

((IJavascriptExecutor) driver).ExecuteScript(
     "var evt = document.createEvent('MouseEvents'); evt.initMouseEvent('dblclick'," + 
     "true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0," + 
     "null); " + 
     "arguments[0].dispatchEvent(evt);", element); 
+0

classe de la grille est " x-grid3 " – Reflux

+0

S'il s'agit d'une grille ExtJS, alors il a une méthode startEditing (Number rowIndex, Number colIndex) qui peut être tirée –