2016-07-06 14 views
11

Tôi đang cố gắng sử dụng API python-selenium (phiên bản 2.53.6) để thực hiện các kiểm tra GUI trên các trình duyệt khác nhau. Khi tôi cố gắng sử dụng IE (11.0.10240) theo cách sau (Windows Server 2012 R2 Standard, 64bit); sử dụng xác thực:Cách sử dụng trình duyệt web IE từ selen cho python (Lỗi điều hướng không thành công)?

driver = webdriver.Ie() 
driver.get("http://user:[email protected]") 

sau đó tôi nhận được thông báo lỗi sau:

selenium.common.exceptions.WebDriverException: Message: Failed to navigate to http://user:[email protected] This usually means that a call to the COM method IWebBrowser2::Navigate2() failed. 

Có cách nào để khắc phục lỗi này?

Phụ Lục:

  • Tôi đã cố gắng để sử dụng phiên bản 32bit của trình điều khiển trình duyệt IE, không thành công (lỗi tương tự)
  • Tôi đã thay đổi registry như được giải thích here, không thành công (giống lỗi)
  • Tôi đã đặt "Bật Chế độ được bảo vệ" cho tất cả các khu vực (cũng được đề xuất here).
+0

Nếu bạn cố điều hướng đến một số trang web khác, nó có hoạt động không? Nó có thể phải làm với việc sử dụng http ... Ngoài ra, khi bạn nói rằng bạn đã thiết lập "Kích hoạt chế độ bảo vệ", bạn có nghĩa là bạn đang vô hiệu hóa nó, đúng không? Ngoài ra, hãy thử phát bằng các cài đặt trong Tùy chọn Internet> Nâng cao trong phần Bảo mật –

Trả lời

1

Không trực tiếp trả lời các câu hỏi, nhưng tôi không thể tái tạo nó khi sử dụng IE11 trên Windows 10 thông qua BrowserStack và mở cửa this http auth protected page:

from selenium import webdriver 

desired_cap = {'os': 'Windows', 'os_version': '10', 'browser': 'IE', 'browser_version': '11.0'} 

driver = webdriver.Remote(
    command_executor='http://usename:[email protected]:80/wd/hub', 
    desired_capabilities=desired_cap) 

driver.get("http://httpwatch:[email protected]/httpgallery/authentication/authenticatedimage/default.aspx?0.7349707232788205") 

Không có lỗi và tôi thấy hình ảnh đó là đằng sau auth HTTP .

Sử dụng selen 2.53.5.

+0

Nếu tôi thử, tôi sẽ gặp lỗi 404 trong dòng 'webdriver.Remote'. Tôi cũng stronly thích để có được một trình điều khiển như được đưa ra trong mã ví dụ của tôi, tức là để có một phương pháp trả về trình điều khiển chính xác và làm việc (mà không cần phải xác định một URL cụ thể trước ...). – Alex

+0

@Alex url 'command_executor' tùy chỉnh ở đây chỉ vì tôi đang dùng mac và sử dụng máy chủ selenium trình duyệt từ xa và kích hoạt 'IE' ở đó. Sau đó, tôi điều hướng đến trang 'httpwatch' cụ thể chỉ để chứng minh rằng tôi có thể truy cập hình ảnh phía sau http auth cơ bản. Lưu ý rằng nếu bạn muốn chạy ví dụ này, bạn cần phải thay thế 'username' và' key' bằng thông tin đăng nhập trình duyệt cụ thể của bạn. – alecxe

+0

Tôi không muốn sử dụng browserstack ... Có thể selenium không hoạt động cho IE theo mục đích? – Alex

0

Bạn đã thử sử dụng theo cách này chưa?

driver.current_url(" http://user:[email protected] ")

+0

Có vẻ như 'current_url' là một chuỗi mà tôi không thể gọi. Tôi nhận được một lỗi 'LoạiError: 'str' đối tượng không phải là callable' ... – Alex

+0

Bạn có nhớ chia sẻ thêm một vài chi tiết? Giống như > Phiên bản python nào bạn đang sử dụng? > Bạn đã gọi chương trình nào trong chương trình? > Về cơ bản, hãy đăng toàn bộ mã của bạn nếu có thể? – Technologeek

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