小编toh*_*hop的帖子

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万
查看次数

标签 统计

events ×1

onchange ×1

selenium ×1