Ich versuche, ein Element aus einer Liste auszuwählen, die Felder bei einem Klick außerhalb der Liste aktualisiert werden. Der Code unten funktioniert, wenn ich nur ein EreignisKlicken außerhalb eines Elements funktioniert nicht
Actions action = new Actions(driver);
EventGrid.FindElement(By.XPath("//div[contains(.,'" + nameToBeClicked + "')]")).Click();
// Forces a click outside element to fire the triggers
EventGrid.FindElement(By.XPath("//html")).Click();
haben (siehe Bild)
Aber nicht, wenn ich zwei Ereignisse haben (Hinweis gibt es zwei Ereignisse im Bild nun, ein neues Ereignis und das andere nannte Frühstücksbuffet). Ich übergebe den Namen des Ereignisses an die Methode, die auf das Frühstücksbuffet klickt, aber der Klick in HTML funktioniert nur mit dem obigen Bild, aber nicht mit dem untenstehenden. Irgendwelche Ideen, wie man das umgehen kann?
Html der Liste:
<div id="boundlist-1193" class="x-boundlist x-boundlist-floating x-layer x-boundlist-default x-border-box" tabindex="-1" style="right: auto; left: 100px; top: 97px; height: auto; width: 150px; z-index: 29001;" data-selenium-id="EventGrid-EventClassificationName-list">
<div id="boundlist-1193-listEl" class="x-boundlist-list-ct x-unselectable" style="overflow: auto; height: auto;" role="presentation">
<ul class="x-list-plain">
<li class="x-boundlist-item" unselectable="on" role="option">
<div>Buffet Breakfast</div>
</li>
<li class="x-boundlist-item" unselectable="on" role="option">
<div>NotMarkedAsPosted</div>
</li>
<li class="x-boundlist-item" unselectable="on" role="option">
<div>Package Afternoon Break</div>
</li>
<li class="x-boundlist-item" unselectable="on" role="option">
<div>Package Dinner</div>
</li>
<li class="x-boundlist-item" unselectable="on" role="option">
<div>Package Lunch</div>
</li>
<li class="x-boundlist-item" unselectable="on" role="option">
<div>Package Morning Break</div>
</li>
<li class="x-boundlist-item" unselectable="on" role="option">
<div>Party Hard</div>
</li>
<li class="x-boundlist-item" unselectable="on" role="option">
<div>Unassigned</div>
</li>
</ul>
</div>
</div>
Sieht so aus, als ob Sie Selenium verwenden ... haben Sie verschiedene Treiber ausprobiert? oder verifiziert, dass das html-Element innerhalb des EventGrids existiert, nachdem der erste Klick ausgeführt wurde? Vielleicht ist es vorher da und nicht danach? Ein anderer Gedanke ... möchte vielleicht WebDriverWait zwischen Klicks betrachten. – Bret
Ich denke, dass dieser Link Ihr Problem lösen wird. http://stackoverflow.com/questions/40220377/how-to-click-on-new-div-which-newly-generates-after-click-on-a-button-in/40232966#40232966 –
Wenn Sie auf ein Element klicken Selen klickt auf die Mitte des Elements. Ich würde vorschlagen, dass Sie auf einen bekannten Ort wie das Feld Name in der aktuellen Zeile usw. klicken und sehen, ob das hilft. – JeffC