Tôi đã thử một số thứ để thử và nhận Selenium để nhận sự kiện 'trao đổi' từ trình đơn thả xuống, không cái nào trong số đó hoạt động.Selenium onChange không hoạt động
HTML vi phạm là:
<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>
Tôi đã đọc rằng Selenium IDE không ghi lại một số sự kiện *, và vì vậy nó sẽ là khôn ngoan để sử dụng 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");
Tuy nhiên, điều này không hoạt động (có hoặc không có fireEvent). Tôi cũng đã cố gắng sử dụng
$this->fireEvent("locator", "click");
thay vì
$this->click("locator");
nhưng điều này đã không làm gì.
Selenium không phàn nàn về những người định vị này không tồn tại nên tôi cho rằng nó có thể thấy các yếu tố lựa chọn/tùy chọn tốt. Vấn đề có vẻ là sự kiện onChange.
Có ai biết cách giải quyết vấn đề này không?
Cảm ơn.
Trình duyệt bạn đang sử dụng? – John
Tôi đang thử nghiệm trên Firefox 3.5.8. – tohop