2012-05-29 41 views
5

Tôi có một div thay đổi dựa trên nếu biểu mẫu được gửi chính xác hay không.
Tôi muốn biết liệu có thể kiểm tra một yếu tố cụ thể cho một lớp học hay không?Kiểm tra các lớp thẻ với watir?

Bắt đầu phần tử trông giống như thế này.

<div id="myerrortest" class="input text"></div> 

Nếu đầu vào không chính xác thì hãy thêm lớp lỗi.

<div id="myerrortest" class="input text error"></div> 

Trả lời

10

Hãy thử điều này:

browser.div(:id => "myerrortest").class_name 

Thông tin thêm:

http://watir.github.com/watir-webdriver/doc/Watir/HTMLElement.html#class_name-instance_method

Một lựa chọn khác là nên chỉ xem nếu div với lớp học mà bạn mong đợi tồn tại hay không

browser.div((:id => "myerrortest", :class => 'input text').exists? 

Nếu sử dụng RSpec loại quẹt nó sẽ là

browser.div((:id => "myerrortest", :class => 'input text').should exist 
+0

Bạn cũng có thể xem liệu div có id và class bạn mong đợi có tồn tại hay không, tôi đã tự do chỉnh sửa câu trả lời của Zeljko để bao gồm tùy chọn đó. –

+0

@ChuckvanderLinden: nếu bạn đã tạo ra một câu trả lời khác, tôi sẽ upvote nó, nhưng bây giờ tôi nhận được tất cả upvotes :) –

+3

đôi khi nó là tốt hơn để chỉ cải thiện một câu trả lời đã được chính xác và làm cho nó tốt hơn, có hai cạnh tranh chính xác câu trả lời. nó không phải là tất cả về những người được điểm rep nhất sau khi tất cả, nhưng giúp người dùng của chúng tôi .. (cảm thấy tự do để upvote bình luận này tuy nhiên :-)) –

-2

Bạn có thể làm điều này với jquery (hoặc không, jquery sintax chỉ hơn đơn giản nhưng với getelement bạn có thể làm bất cứ điều gì là).

Đây là một ví dụ mà thêm lớp với một nút bấm: ("classname.")

$(".button").click(function(){ 
$("#myerrortest").attr("class",$("#myerrortest").attr("class")+" error"); 
}); 

công việc này cũng với $. Hy vọng nó giúp đỡ

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