/ / Nedá sa získať "skutočný stav" na nájdený prvok v zozname vybratých a vyberte ho - ruby, rspec, watir

Na vybranom zozname nie je možné získať "skutočný stav" a vybrať ho - ruby, rspec, watir

Používam Watir 6 s Rspec a mám problémy s prístupom k vybranému zoznamu a výberu jednej z možností.

Adresa URL je: https://www.fundingcircle.com/businesses/apply?video=true

Dotknutý kód, ktorý nie je úspešný, je:

browser.select_list(name: "loan_product").select("Working capital")

HTML:

<select name="loan_product" required="" ng-model="prequal.borrower.loan_product" ng-options="product as product.label for product in prequal.loanProducts" styled-select="" placeholder="Please select..." fc-input="" class="ng-scope ng-pristine ng-invalid ng-invalid-required fc-touched">
<option value="?" selected="selected" label=""></option><option value="0" label="Working capital">Working capital</option><option value="1" label="Expansion/growth">Expansion/growth</option><option value="2" label="Refinancing a loan">Refinancing a loan</option><option value="3" label="Asset finance">Asset finance</option><option value="4" label="Tax payment">Tax payment</option><option value="5" label="Commercial mortgage">Commercial mortgage</option><option value="6" label="Other">Other</option></select>

Chyba, ktorú stále trvám bez ohľadu na to, koľkokrát som sa pokúsila zmeniť kód, je:

This code has slept for the duration of the default timeout waiting for an Element to be present. If the test is still passing, consider using Element#exists? instead of rescuing UnknownObjectException
Watir::Exception::UnknownObjectException: element located, but timed out after 30 seconds, waiting for true condition on {:name=>"loan_product", :tag_name=>"select"}
from /Users/.rvm/gems/ruby-2.2.2/gems/watir-6.0.2/lib/watir/elements/element.rb:528:in `rescue in wait_for_present"

Existujú prvky a všetky možnosti výberu zoznamučo sa zdá byť pravdivé, ale bohužiaľ sa nezdá byť viditeľné alebo prítomné podľa testu Posledná voľba, ktorú mám pocit, je manipulovať s javaskriptom, ale nechcem ísť touto cestou, ak to môžem pomôcť. Naozaj by som ocenil, keby sa niekto mohol dostať na správnu cestu a poradiť, ako sa dostanem k tejto otázke. Akákoľvek pomoc by bola veľmi cenená.

odpovede:

2 pre odpoveď č. 1

Je to zvláštne. V zozname môjho maku sa zoznam vybratí zobrazuje ako viditeľný v prehliadači Firefox, ale nie v prehliadači Chrome. Spoločnosť Watir skontrolovala, či je zoznam vybraných položiek viditeľný predtým, než sa pokúsite kliknúť na túto možnosť. Prvok doplnku je implementovaný v selenu tak, aby sa vždy vrátil ako viditeľný.

Tak to bude fungovať pre vás:

browser.option(label: "Working capital").click

Nie som si istý, prečo sú iné, alebo čoproblém je vo Windows vs Chrome. Pravdepodobne chromedriver používa rovnaký kód javascript ako geckodriver. Pravdepodobne by ste to mohli vzbudiť ako chybu chrómového krídla.