有谁知道如何设置一个值来跨越标签使用水豚?如何用水豚设置量程值?
我尝试使用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 –