2012-01-16 24 views
8

Tôi đã có một nút trên trang web đó Webdriver sẽ không nhấp khi tôi chạy qua IE - Tôi đã thử các cách giải quyết dưới đây nhưng không may mắn -Cách giải quyết cho Selenium nút không nhấp với InternetExplorerDriver

Nhấp qua javascript:

((JavascriptExecutor) driver).executeScript("$(arguments[0]).click()", webElement) 

Sử dụng SendKeys:

webElement.SendKeys(keys.Enter) 

Sử dụng Action Builder

Actions test = new Actions(driver); 
     test.moveToElement(webElement); 
     test.clickAndHold(); 
     test.release(); 
     test.build(); 
     test.perform(); 

Đảm bảo cửa sổ là một trong những hoạt động, sau đó nhấp vào đối tượng phụ huynh, sau đó các đối tượng chính nó

Vấn đề là, không ai trong số họ làm việc. Tôi đã kiểm tra trong Firefox và Chrome và kịch bản chạy tốt. Tôi đã xác nhận rằng phần tử này đang được tìm thấy khi sử dụng IE. Có cách giải quyết nào khác mà tôi có thể thử không?

+0

Bạn có trang mẫu nơi sự cố này được sao chép không? Nó có thể là giá trị nó để tập tin này như là một lỗi nếu nó hoạt động đúng với các trình điều khiển khác. –

+0

Thật không may chỉ có thể tái tạo trên một ứng dụng nội bộ. Đã quản lý để giải quyết vấn đề bằng cách chuyển tiêu điểm cửa sổ, buộc cuộn, nhấp vào phần tử gốc, nhấp vào phần tử và sau đó gửi Javascript. Rõ ràng là quá mức cần thiết ở đâu đó, nhưng hạnh phúc là nó hoạt động. – Dave

+3

Tôi tin rằng cửa sổ IE cần phải ở trên cùng và tập trung cho nhiều hành động để hoạt động chính xác. Ít nhất đó là kinh nghiệm của tôi với nó. –

Trả lời

1

Nếu nút là nút gửi biểu mẫu, bạn có thể sử dụng: webElement.submit() trên một trường khác của biểu mẫu.

4

Dường như bạn đang buộc phải sử dụng kiểu nhấp chuột JQuery ... nhấp chuột kiểu javascript bình thường sẽ hoạt động.

Hãy thử điều này:

((JavascriptExecutor) driver).executeScript("arguments[0].click();", webElement) 

tôi luôn luôn tìm thấy thành công với những điều sau đây để nhấp vào một phần tử trong IE.

  1. Nếu một hộp kiểm/radio: webElement.click();
  2. Clickable yếu tố đầu vào: webElement.sendKeys("\n");
  3. Đối với các yếu tố khác, sử dụng nói trên phong cách JS nhấp chuột.
+0

Tôi sẽ ôm bạn nếu tôi có thể! – Conner

+0

@Conner - Cảm ơn, bạn đã thực hiện một ngày của tôi :) – KrishPrabakar

Các vấn đề liên quan