dax*_*xim 18 perl browser-automation
我想设置某个无形输入字段的值.
my $field = $w->selector('tr.edit td[data-attribute="name"] input', single => 1);
Run Code Online (Sandbox Code Playgroud)
找到它.
$field->attributes->{value} = 'test';
Run Code Online (Sandbox Code Playgroud)
没有明显的效果.
都
$w->field($field => 'test');
Run Code Online (Sandbox Code Playgroud)
和
$w->field('tr.edit td[data-attribute="name"] input' => 'test');
Run Code Online (Sandbox Code Playgroud)
出错了No elements found for form number 1
.
当我遇到这个问题时,我只会使用该eval
方法,让Javascript(或jQuery,如果它在页面中加载)负责选择和设置值.对我来说,主要是选择下拉菜单,页面上的Angular应用程序需要更改或单击事件.
$mech->eval( q{$(tr.edit td[data-attribute="name"] input).val('test')} );
Run Code Online (Sandbox Code Playgroud)
如果没有jQuery,我相信你的Google fu会帮助你.