/ / Element nie je možné kliknúť v danom okamihu - ale v skutočnosti klikne - selén, xpath, automatizované testy, robotická hra, knižnica selen2

Prvok nie je možné kliknúť - ale naozaj klikne - selenium, xpath, automatizované testy, robotframework, selenium2library

Môj test zlyhá s:

WebDriverException: Správa: neznáma chyba: Na prvok nie je možné kliknúť v bode (1) 786, 183). Iný prvok by získal kliknutie: <"div align =" right "> ... <" / div>

Prístup k službe xpath I je:

${UPDATE}    xpath=//button[@type="submit" and contains(text(),"Update")]

použiť v kľúčovom slove:

    wait until element is visible   ${UPDATE}
click element    ${UPDATE}

zdroj:

<div align="right">
<button type="submit" class="btn btn-primary ng-binding" ng-click="submitForm()" ng-disabled="updateDisabled">Update</button>
<button type="button" class="btn btn-primary" ng-click="reset(projectForm)" ng-disabled="updateDisabled">Reset</button>
</div>

ale v teste sa skutočne klikne na tlačidlo -> údaje sa ukladajú - takže je to v poriadku. Len nechápem, prečo vyvoláva výnimku, keď na ňu klikne správne a čo mám robiť, aby to prešlo. Je zrejmé, že našiel prvok a klikol naň ... Tiež som sa snažil použiť "počkajte, kým prvok je povolený „a„ zameranie “... Ďakujeme za akýkoľvek návrh! PS: Do prvku div som výnimočne pridal znak „“ “, inak sa tu nezobrazil .. :)

odpovede:

0 pre odpoveď č. 1

Aj keď je to skutočne zlá prax, odporúčam vám umiestniť pár Sleep 1s kľúčové slová v okolí vášho testovacieho prípadu, napríklad:

Sleep    1s
Wait Until Element Is Visible   ${UPDATE}
Sleep    1s
Click Element    ${UPDATE}
Sleep    1s

Len pre ladenie a uistite sa, že vodič nie jezakopnutia o seba. (Aký bol problém, ktorý som mal) Ak to potom funguje a prejde, budete musieť v podstate počkať dlhšie, ako je aktívne tlačidlo. Existuje ďalšia časť webovej stránky, ktorá sa načíta dlhšie? Ak áno, použite.

Ale keď môžete, zbavte sa Sleep 1s Kľúčové slová, pretože je to naozaj zlá prax.


0 pre odpoveď č. 2

Používam nasledujúci prístup.

  1. sa nachádza prvok, ktorý je viditeľný po úplnom načítaní stránky.
  2. dostať to xpath

Použite nasledujúce kľúčové slová:

Wait Until Keyword Succeeds  Page Should Contain Element  ${Xpath}
Click Element  ${Element}

Pomôže vám to vyhnúť sa používaniu sleeps vo vašich semenníkoch.


0 pre odpoveď č. 3

Čo tak: wait until element is visible ${UPDATE} mouse down ${UPDATE} mouse up ${UPDATE}

Pracoval som pre niektoré čudné herecké prvky ..