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


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.