有誰知道如何設置一個值來跨越標籤使用水豚?如何用水豚設置量程值?
我嘗試使用element.set
或element.send_keys
,他們只選擇了目標元素而沒有修改以前的值。
<div data-offset-key="bbpvo-0-0" class="_1mf _1mj"><span data-offset-key="bbpvo-0-0"><span data-text="true">aa</span></span></div>
HTML片段是上面,我想設置AA到BB。
烏姆 - 存在於具有有一個id爲你與它交互的項目沒有限制 - 究竟用戶有什麼樣的行動來進行編輯你想要的內容編輯 - 即 - 用戶必須點擊數據文本=真正的跨度,然後鍵入?還是他們必須先點擊其他東西?一旦你知道了那麼你就可以讓水豚複製這些動作 - 當他們點擊跨度時(如果這是用戶必須做的)它會被其他元素替換嗎? –
謝謝@ Tom Walpole,但這完全是Facebook的頁面,是的,我們可以使用js/jquery來執行編輯操作,但不幸的是,似乎我們只有在附加了該跨度的id時才能使用js,但在這裏我們沒有它。當我嘗試,它會拋出錯誤:2.1.6:005> page.execute_script(「$(\」#{find(:css,'span [data-text =「true」]')} \「)。html ('New Text');「) Selenium :: WebDriver :: Error :: JavascriptError:<![EX [[」試圖獲取ID爲\「%s \」的元素,但它不存在於頁面上。 「,」#「]]]> 你能告訴我如何使用js來改變span文本嗎? –
你試圖調用的$是來自jQuery,但Facebook頁面不加載jQuery - 通過JS來完成,你只需要使用基本的DOM方法'document.querySelector('span [data-text =「true」 ]')。innerHTML =「新文本」;'或類似的東西 - 顯然你需要確定用來獲取所需元素的選擇器的範圍,或者如前所述。定義用戶必須執行的操作,然後使用capybaras api –