2012-07-18 75 views
37

Tôi đang cố gắng lấy URL của trang hiện đang mở. Tôi đang sử dụng Selenium WebDriver và Java.Lấy URL của trang hiện tại bằng cách sử dụng Selenium WebDriver

tôi truy cập vào các URL hiện qua:

WebDriver driver = new WebDriver(); 
String url = driver.getCurrentUrl(); 

Tuy nhiên, URL không xuất hiện để thực sự phản ánh nơi tôi hiện đang.

Trường hợp thử nghiệm hiện tại của tôi liên quan đến việc truy cập trang web NYT và sau đó nhấp vào liên kết "Công nghệ". Tuy nhiên, url dường như luôn là http://www.nytimes.com/, bất kể URL được hiển thị trong thanh địa chỉ.

Làm cách nào để thực sự truy cập giá trị của URL nằm trong thanh địa chỉ để tôi có thể cho biết trang nào tôi thực sự đang ở trên?

+0

chỉ tò mò tại sao bạn không thể truy cập trực tiếp vào liên kết công nghệ? tại sao bạn muốn vào trang chủ và nhấn? – Kishore

+0

Chương trình của tôi lặp đi lặp lại khám phá trang bằng cách đi theo các liên kết - nhưng sẽ hữu ích khi biết nơi nó thực sự được sao cho nó không bấm vào cùng một liên kết lặp đi lặp lại. – Karen

+0

Sử dụng 'HtmlUnitDriver', thực sự, không thay đổi URL. Lạ thật. Trong IE8 trên Windows XP SP3, mọi thứ diễn ra suôn sẻ. Trình duyệt của bạn là gì (bạn có thử các trình duyệt khác không?), Hệ điều hành và phiên bản Selenium? –

Trả lời

18

Đặt chế độ ngủ. Nó sẽ hoạt động. Tôi đã thử. Lý do là trang chưa được tải. Kiểm tra câu hỏi này để biết cách chờ tải - Wait for page load in Selenium

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