ক্যাপাইবারায় কীভাবে ফিল_ইন ব্যবহার করবেন (যদি সম্ভব হয়)


90

আমি নিম্নলিখিতটি করতে চাই তবে প্রথম যুক্তি হিসাবে কোনও লোকের প্রত্যাশা ফিল_ইনের প্রকৃতির কারণে পারছি না।

find(:css, "input[id$='donation_pledge_hundreds']").fill_in :with => "10"

আমিও চেষ্টা করেছি

element = find(:css, "input[id$='donation_pledge_hundreds']")   
fill_in element.<method> , :with => "10"

কিন্তু এমন কোনও পদ্ধতি নেই যা উপাদানটিকে পূরণ করে_তে সনাক্ত করতে কোনও ডেটা ফেরত দেয়।

ফিল_ইন দিয়ে ব্যবহারের জন্য কোনও রেগেক্সের মাধ্যমে ক্ষেত্র সন্ধানের সর্বোত্তম উপায় সম্পর্কে কোনও ধারণা?

উত্তর:


160

মেমরি থেকে যাওয়া তাই 100% সঠিক নাও হতে পারে তবে আমি মনে করি আপনি যদি তার setপরিবর্তে উপাদানটি ব্যবহার করতে চান তবে যদি আপনার কাছে কোনও রেফারেন্স থাকে fill_in:

find(:css, "input[id$='donation_pledge_hundreds']").set("10")

তবে আপনার নির্দিষ্ট উদাহরণের জন্য, fill_inএটির আইডি যেমন আপনি জানেন তেমন উপাদানটি সন্ধান করতে সক্ষম হওয়া উচিত:

fill_in 'donation_pledge_hundreds', with: "10"

ভাল মানুষ, একটাই। এই নির্দিষ্ট ক্ষেত্রটি বিভিন্ন প্রসঙ্গে (সত্যায়িত / প্রমাণীকৃত নয়) ব্যবহৃত হয় এবং তাই আলাদা ক্ষেত্রের আইডি লাগে। দান_প্লেজ_ শত শত ক্ষেত্র আইডির সাধারণ অংশ তাই ক্ষেত্রের নামের শেষের তুলনা করে $ =
পিঁপড়া

8
অন্যান্য অন্তর্নির্মিত পদ্ধতিগুলির চেয়ে 'সেট' ব্যবহারের বিষয়ে সতর্ক থাকুন, কারণ এটি মান পরিবর্তন করার পরে ইভেন্টগুলি ট্রিগার করে না।
ড্যান ক্যাডিডিগান

@ ড্যানক্যাডিডিগান এবং সে কারণেই এটি f3ck3d আপ বলে মনে হচ্ছে: / আপনি তখন কীভাবে করবেন?
বেন

আপনি find(:css, "...").set("10").send_keys(:return)তারপরে রিটার্ন টিপতে ব্যবহার করতে পারেন । এটি সম্পর্কিত ইভেন্টগুলি ট্রিগার করে। আমি এটি পরীক্ষা করেছি না তবে এটি find(:css, "...").set("10").trigger(:blur)যদি আপনার জিনিস হয় তবে আপনি এটিও করতে পারেন ।
গন্ডলেজ

5

কোনও পদ্ধতির পরিবর্তে, আপনি ফিরে আসার জন্য বন্ধনী ব্যবহার করতে পারেন :nameবা :id, যেমন element = find(:css, "input[id$='donation_pledge_hundreds']") fill_in element[:name], :with => "10" একই পদ্ধতির সাথে ব্যবহার করা যেতে পারে select- select my_type, from: find('select[name$="[type]"]')[:name]


3
find("input[id$='donation_pledge_hundreds']").set "10"

আপনি যে অনুসন্ধানগুলি শৃঙ্খল করতে পারেন তা লক্ষণীয়।

@modal = find(".modal")
@modal.find('input[name=foo]').set "bar"

2
element = find(:css, "input[id$='donation_pledge_hundreds']")   
element.fill_in with: "10"

কোড শুধুমাত্র উত্তর নিরুৎসাহিত করা হয়। এটি কীভাবে সমস্যাটি সমাধান করে বা বিদ্যমান উত্তরগুলির থেকে এটি কীভাবে পৃথক হয় সে সম্পর্কে কিছু ব্যাখ্যা যুক্ত করুন। পর্যালোচনা থেকে
নিক

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.