相关疑难解决方法(0)

Selenium onChange无效

我尝试了很多尝试,让Selenium从下拉菜单中选择一个'onchange'事件,但没有一个有效.

违规的HTML是:

<select onchange="doOpperation(this.options[this.selectedIndex]); this.selectedIndex = 0;" name="opps_ondemand" id="opps_ondemand">
  <option value="none" id="ondemand">Mark as...</option>
  <option cmd="blah1" value="add">Something</option>
  <option cmd="blah2" value="remove">None</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我已经读过Selenium IDE没有记录一些关于*事件的内容,因此使用fireEvent()是明智的:

$this->click("opps_ondemand");
$this->select("opps_ondemand", "label=Mark as...");
$this->click("//option[@value='add']");
sleep(3);
$this->fireEvent("//select[@id='opps_ondemand']", "change");
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用(有或没有fireEvent).我也试过用

$this->fireEvent("locator", "click");
Run Code Online (Sandbox Code Playgroud)

代替

$this->click("locator");
Run Code Online (Sandbox Code Playgroud)

但这没有做任何事.

Selenium不会抱怨这些定位器不存在所以我假设它可以看到select/option元素没问题.问题似乎是onChange事件.

有谁知道如何解决这个问题?

谢谢.

events selenium onchange

10
推荐指数
2
解决办法
1万
查看次数

是否可以在表单上以编程方式调用Javascript的onsubmit事件?

在Ruby on Rails中,我试图innerHTML使用form_remote_tag帮助器更新div标签.只要关联的选择标记收到onchange事件,就会发生此更新.问题是,<select onchange="this.form.submit();">; 不起作用.也没有document.forms[0].submit().获取form_remote_tag中生成的onsubmit代码执行的唯一方法是创建一个隐藏的提交按钮,并从select标签调用按钮上的click方法.这是一个有效的ERb部分示例.

<% form_remote_tag :url => product_path, :update => 'content', :method => 'get' do -%>
  <% content_tag :div, :id => 'content' do -%>
    <%= select_tag :update, options_for_select([["foo", 1], ["bar", 2]]), :onchange => "this.form.commit.click" %>
    <%= submit_tag 'submit_button', :style => "display: none" %>
  <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我想做的就是这样,但它不起作用.

<% form_remote_tag :url => product_path, :update => 'content', :method => 'get' do -%>
  <% content_tag :div, :id => 'content' do …
Run Code Online (Sandbox Code Playgroud)

javascript ruby ruby-on-rails

6
推荐指数
2
解决办法
1万
查看次数

如何以编程方式更改选择以激活其onchange行为?

这似乎不起作用:

<select id="mySel" onchange="alert('foo')">
    <option value="a">a</option>
    <option value="b">b</option>
</select>

<script>
dojo.byId('mySel').value = 'b'; // select changes, but nothing is alerted
</script>
Run Code Online (Sandbox Code Playgroud)

(我正在使用道场,但这并不重要.)

javascript select onchange

6
推荐指数
1
解决办法
1万
查看次数

Javascript - 在页面加载时自动点击按钮

我正在尝试在页面加载时自动单击带有 id btn 的按钮。这是我的片段。

<button id="btn">Click me</button>
<script>
document.getElementById('btn').click();
    alert("h")
</script>
Run Code Online (Sandbox Code Playgroud)

如何在页面加载时发出警报?请帮忙。谢谢。

html javascript

-1
推荐指数
1
解决办法
3万
查看次数

标签 统计

javascript ×3

onchange ×2

events ×1

html ×1

ruby ×1

ruby-on-rails ×1

select ×1

selenium ×1