2015-12-06 16 views

Trả lời

8

Giả sử, phần tử web phần mềm không có bất kỳ ID hoặc Tên lớp nào sau đó cách định vị phần tử đó trong selenium WebDriver? Câu trả lời là có rất nhiều lựa chọn thay thế của selenium WebDriver yếu tố định vị và một trong số họ là Xác định vị trí phần tử theo tên thẻ.

Định vị phần tử theo tên thẻ không quá phổ biến vì trong hầu hết các trường hợp, chúng tôi sẽ có các lựa chọn thay thế khác của định vị phần tử. Nhưng có nếu không có bất kỳ thay thế nào thì bạn có thể sử dụng Tên thẻ DOM của phần tử để định vị phần tử đó trong trình quản trị web.

enter image description here

Ở đây bạn có thể chọn các tagname như một định vị như:

//Locating element by tagName and store its text in variable dropdown. 
String dropdown = driver.findElement(By.tagName("select")).getText(); 
+0

Sử dụng thẻ này để tìm thẻ 'IFRAME' hoặc có thể' A' để nhận tất cả liên kết trên trang có nhiều khả năng được sử dụng rộng rãi hơn. – JeffC

2

chúng tôi sử dụng tên thực tế của thẻ như cho neo và cho bảng và đầu vào cho. Điều này giúp để có được tất cả các yếu tố với một tên thẻ nhất định. Ví dụ: để chọn phần tử đầu tiên của đầu vào cho

var dialog = driver.FindElement(By.ClassName("ladialog")); 
var save = dialog.FindElements(By.TagName("input"))[0]; 
save.Click(); 
0

Cũng quan trọng, Chiến lược tagName định vị có thể được sử dụng để lấy hoặc lấy tất cả các liên kết trong một trang web và in chúng ra màn hình. Hãy thử điều này:

//GET ALL LINKS IN A WEBPAGE 
List<WebElement> allLinks = driver.findElements(By.tagName("a")); 
System.out.println("Links count is: "+allLinks.size()); 
for(WebElement link : allLinks) 
System.out.println(link.getText()); 
Các vấn đề liên quan