點擊輸入框硒點擊瀏覽器時,在回地面
<input id="dp1" class="span2" type="text" value="02-16-2012">
當瀏覽器是在回地面不工作,不顯示的日期選擇器彈出。 使用javasccript或jquery單擊輸入字段不會顯示日期選擇器彈出窗口。
driver.find_element_by_css_selector('#dp1').click() # works when the browser window is in the foreground
document.querySelector('#dp1').click() # does not display the date picker popup
$('#dp1').click() # does not display the date picker popup
是我在this page上使用的三種技術。
我在硒網格上運行我的測試,並且每個查看顯示可以同時打開多個瀏覽器,可能會將包含datepicker元素的瀏覽器頁面放置在背景中,這會導致不可靠的測試。
所以,首要的問題是 -
爲什麼當瀏覽器在背景中硒的webdriver點擊不起作用?
第二個問題是 - 我該如何解決這個限制?
注: 使用硒或使用jquery/JS直接改變的值發送鍵是不一個選擇,因爲它繞過了日期選擇器彈出,並不實際測試UI方面,只有功能。
driver.find_element_by_css_selector('#dp1').send_keys('02-18-2014')
$('#dp1').val('02-18-2014') # updates the date but without using the datepicker
在Linux上使用Mac硒v2.39和firefox2.26和firefoxv17
它會在後臺工作。我認爲你錯了某處。爲什麼不在selenium中使用javascript執行程序,然後嘗試運行jquery腳本,如$('#dp1')。click()via javascript executor。 – Innovation
好吧,它沒有。我已經嘗試在瀏覽器處於前景和背景之間進行切換,並且只有當瀏覽器位於前景時,硒點擊纔會起作用。此外,JavaScript點擊不會加載日期選擇器彈出。 – Amey
只需嘗試使用螢火蟲在問題中發佈的鏈接上的JavaScript代碼,就會看到我在說什麼。 – Amey