我很樂意做這樣的事情:使用水豚複製粘貼?
div = find '#some-div'
copy_to_clipboard(div)
input = find '#my-input'
paste_from_clipboard(input)
我不想send_keys
和用Ctrl + C和Ctrl + V來模擬這一點;我希望這可以跨瀏覽器(特別是在移動設備上)工作。
此API是否存在?
我很樂意做這樣的事情:使用水豚複製粘貼?
div = find '#some-div'
copy_to_clipboard(div)
input = find '#my-input'
paste_from_clipboard(input)
我不想send_keys
和用Ctrl + C和Ctrl + V來模擬這一點;我希望這可以跨瀏覽器(特別是在移動設備上)工作。
此API是否存在?
沒有水豚複製/粘貼API - 如果你想要做的就是複製可見文本輸入,那麼你可以做
div_text = find('#some-div').text()
find('#my-input').set(div_text)
如果這不是你想要的東西是正確的,那麼你可以使用#execute_script創建一個選擇範圍象
var range = document.createRange();
range.setStart(<start node>, <start node character offset>);
range.setEnd(<end node>, <end node character offset>);
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
然後找到你的目標元素,並設置其值爲window.getSelection()。toString()方法。請注意,這並不是真正模擬用戶會做什麼,所以如果您真的使用它來測試應用程序,我仍然建議在爲支持它的瀏覽器設置選擇範圍後使用ctrl/cmd-c/v,因爲它會模擬用戶行爲更好。
沒有API來做到這一點。
您可以從一個瀏覽器
div = page.find('#some-div')
然後得到元素,您可以將它傳遞到另一個瀏覽器
fill_in '#some-other-div' with => div
你可以閱讀更多關於水豚在這裏:
謝謝。這證實了我的懷疑 - 沒有Capybara複製/粘貼API。 –