2012-09-06 43 views
10

Tôi đang tìm cách định vị liên kết bằng Trình quản lý web Selenium. Tôi không muốn định vị nó bằng văn bản liên kết, chỉ có liên kết thực tế được nhập vào. Điều này có thể được thực hiện bằng cách sử dụng phần tử tìm kiếm của Selenium bằng phương pháp xpath - nhưng cú pháp khi tôi chỉ biết bắt đầu của văn bản href đó, không phải toàn bộ văn bản là gì?Tìm webelement với xpath bắt đầu bằng

Tôi đoán tôi đang tìm kiếm trình định vị liên kết xpath với một số loại bắt đầu bằng phương thức. Tôi không có mã sẵn sàng về điều này.

Trả lời

17

Bạn có thể sử dụng start-with trong xpath để định vị giá trị thuộc tính bắt đầu bằng một văn bản nhất định.

Ví dụ, giả sử bạn có các liên kết sau đây trên trang:

<a href="mylink_somerandomstuff">link text</a> 

Sau đó, bạn có thể sử dụng xpath sau đây để tìm các liên kết có một href bắt đầu với 'mylink':

//a[starts-with(@href, "mylink")] 
3

bạn cũng có thể sử dụng chứa nếu bạn không biết những gì href bắt đầu với:

<a href="link_with_key_word_in.html">Link</a> 

Để tìm liên kết này, bạn có thể sử dụng:

By.xpath("//a[contains(@href, 'key_word')]")); 
0

Chỉ cần cài đặt các addons này: Firebug và FirePath trong Mozilla Firefox.

Đi tới liên kết trong firefox và gọi firebug bằng phím F12.

Sau đó chọn FirePath.

Nhấp vào nút kiểm tra phần tử và chọn phần tử. Nó sẽ hiển thị xpath của phần tử.

Ví dụ:

<input type = "text" id ="text-checking123"> </input> 

XPath của nguyên tố này sẽ

//input[starts-with(@id, 'text-')] 

Sau đó, sử dụng nó trong mã java.

**Please do add comment, if the code works for you. It will help others to view the answer.** 
Các vấn đề liên quan