2012-12-21 31 views
19

Tôi nhập một giá trị vào TextBox hoặc một Combobox và muốn lấy lại giá trị mà tôi vừa nhập vào. Tôi thấy rằng phương thức Selenium Weblement 'getText()' không lấy giá trị, có vẻ như văn bản đã nhập không bị đẩy vào DOM.Cách nhập văn bản từ một hộp văn bản trong selenium

Bất kỳ giải pháp nào?

Trả lời

36

Phương pháp getText() là để lấy một nút văn bản giữa các thẻ yếu tố ví dụ:

<p>Something</p> 

getText() sẽ trở lại "cái gì đó"

Trong một văn bản textbox gõ đi vào thuộc tính giá trị, do đó bạn có thể thử một cái gì đó như:

findElement(By.id("someid")).getAttribute("value"); 

ComboBox hơi khác một chút. Nhưng nếu bạn đang sử dụng các đối tượng Select bạn có thể sử dụng phương pháp:

Select selectItem = new Select(findElement(By.id("someid"))); 
selectItem.getFirstSelectedOption().getText(); 
+2

Cảm ơn bob, nó hoạt động như mong đợi. Tại sao sử dụng Firebug, văn bản đã nhập không được cập nhật trong thuộc tính value? – Fazy

1

Hãy thử getValue nếu nó là một Text Field hoặc hộp Dropdown

String lastname=selenium.getValue("//*[@id='lastName']"); 
System.out.println(lastname); 
Các vấn đề liên quan