2013-06-15 37 views
6

Tôi đang viết một tập lệnh điền vào các trường văn bản với Capybara, nhưng trước khi điền vào các trường, tôi muốn đảm bảo rằng các trường trống và văn bản đó không được tự động điền. Về cơ bản, tôi đang tìm kiếm đối diện củaXóa nội dung khỏi trường văn bản với Capybara

(Object) fill_in(locator, options = {}) #empty_content_of? delete? 

tìm thấy tại đây: http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Actions. Khuyên bảo?

Trả lời

9

Sau khi vật lộn với điều này, tôi hỏi một đồng nghiệp và các giải pháp là sử dụng như sau:

fill_in(locator, with: "") 

Vì vậy, ví dụ:

fill_in "Name", with: "" 

Điều này làm cho cảm giác hoàn hảo và có lẽ là trực quan để nhiều, nhưng tôi đã stumped và không thể tìm thấy một câu trả lời trên SO vì vậy tôi nghĩ rằng tôi sẽ đăng về nó trong trường hợp nó giúp bất cứ ai.

0

bạn có thể sử dụng các ràng buộc selen có nguồn gốc rõ ràng một lĩnh vực đầu vào mà không điền vào một chuỗi rỗng

element = find('locator') 
element.native.clear 

Tôi thích tùy chọn này chứ không phải là fill_in.

Ngoài ra nếu bạn nghĩ về việc điền vào bị giới hạn để tìm định vị của bạn theo nhãn hoặc tên để nếu không có nhãn hoặc tên bạn vẫn phải sử dụng find

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