Safariブラウザ11.0.1のオートコンプリートテキストフィールドでsendKeys/clearが使用されているときにSelenium-Rubyでオートメーションテストをコーディングしている間に、Selenium sendKeysとclearはSafari 11の剣道オートコンプリートフィールドでは機能しません
テストコード:
actions.push(is_element_enabled?(PROF_IN_CHARGE,'PROF_IN_CHARGE'))
actions.push(is_element_displayed?(PROF_IN_CHARGE,'PROF_IN_CHARGE'))
actions.push(type(PROF_IN_CHARGE,first_name, 'PROF_IN_CHARGE'))
セレン方法:
def is_element_enabled?(locator, name, raise_exception = true)
$logger.info "Verify whether #{name} is enabled."
highlight(web_driver.find_element(locator))
web_driver.find_element(locator).enabled?
$logger.info "Element enabled: #{name}"
def is_element_displayed?(locator, name, raise_exception = true, log_error = true)
$logger.info(__method__) { "Verifying element #{name}" }
$logger.debug(__method__) { locator }
web_driver.find_element(locator).displayed?
highlight(web_driver.find_element(locator), 0, "red")
return true
def type(locator, text, name, raise_exception = true)
$logger.info(__method__) { "Typing #{text} to #{name}" }
$logger.debug(__method__) { locator }
highlight(web_driver.find_element(locator), 0, "red")
#Clear existing text before typing
web_driver.find_element(locator).clear
web_driver.find_element(locator).send_keys(text)
次のエラーが表示されます
# --- Caused by: ---
# Selenium::WebDriver::Error::ElementNotVisibleError:
# An element command could not be completed because the element is not visible on the page.
# /Users/admin/.rvm/gems/ruby-2.4.1/gems/selenium-webdriver-3.6.0/lib/selenium/webdriver/remote/response.rb:71:in `assert_ok'
がここにログです:
I, [2017-12-11T15:19:00.611929 #5324] INFO -- : Verify whether PROF_IN_CHARGE is enabled.
I, [2017-12-11T15:19:00.635876 #5324] INFO -- : Element enabled: PROF_IN_CHARGE
I, [2017-12-11T15:19:00.635940 #5324] INFO -- is_element_displayed?: Verifying element PROF_IN_CHARGE
D, [2017-12-11T15:19:00.635964 #5324] DEBUG -- is_element_displayed?: {:id=>"fcCreateMainAssingee"}
I, [2017-12-11T15:19:00.647651 #5324] INFO -- is_element_displayed?: true
I, [2017-12-11T15:19:00.660760 #5324] INFO -- type: Typing Report to PROF_IN_CHARGE
D, [2017-12-11T15:19:00.660834 #5324] DEBUG -- type: {:id=>"fcCreateMainAssingee"}
E, [2017-12-11T15:19:00.685450 #5324] ERROR -- create_new_matter: failed.
I, [2017-12-11T15:19:00.725482 #5324] INFO -- screenshot: Screenshot saved in path: /Users/admin/PivotQA/screenshots/2017-12-11_1
5_18_15/MattersLib_create_new_matter_20171211_151900.png
E, [2017-12-11T15:19:00.725531 #5324] ERROR -- : An element command could not be completed because the element is not visible on t
he page.
これはさえ成功し、その要素が有効になってセレンのを使用して、有効にして表示するかどうかを確認した後になりますか?表示されますか?メソッド。
しかし、この問題はchrome、IE、Edgeなどの他のブラウザでは表示されません。
私はjavascript( "document.getElementById( 'fcCreateMainAssingee'.value =' text ')")を使用してテキストフィールドの値を変更しても正常に動作しましたが、動的オプションのドロップダウンは表示されません。問題。
似たような問題を抱えて解決した人はいますか?あなたの助けを得ることは素晴らしいでしょう。
また、これを達成するための他の方法がある場合は、親切に提案してください。
ここではそのオートコンプリートフィールドのDOMです:
<input formcontrolname="fcCreateMainAssingee" id="fcCreateMainAssingee" type="text" class="ng-untouched ng-pristine ng-valid k-input" data-role="autocomplete" placeholder="Username" autocomplete="off" role="textbox" aria-haspopup="true" aria-disabled="false" aria-readonly="false" aria-owns="fcCreateMainAssingee_listbox" aria-autocomplete="list" style="width: 100%;">
ありがとう!
[ElementNotVisibleException:Selenium Python]の重複している可能性があります(https://stackoverflow.com/questions/47108512/elementnotvisibleexception-selenium-python) – DebanjanB
ありがとうございました。私は可視性について言及することを忘れていました。実際にログを見ると、実際に両方を有効にしていますか?表示されますか?メソッド。どちらも要素の存在を確認しています。しかし、メソッドの型を開始したときも、それはエラーを投げた。 –
さて、**有効になって** ** **表示**されていることを除いて、 'webelement'は**難易度**である必要があります**私たちは** element_to_be_clickable * * – DebanjanB