سؤال

بالنسبة لاختبار القبول الخاص بي، أقوم بكتابة نص في موسع الإكمال التلقائي وأحتاج إلى النقر فوق القائمة المملوءة.

من أجل ملء القائمة، لا بد لي من استخدام AppendText بدلاً من TypeText، وإلا فإن مربع النص يفقد التركيز قبل ملء القائمة.

مشكلتي الآن هي عندما أحاول النقر على القائمة المملوءة.لقد حاولت البحث عن عنصر UL والنقر عليه؛لكنها لا تطلق حدث النقر في القائمة.

ثم حاولت البحث في القائمة حسب اسم العلامة والقيمة:

Element element = Browser.Element(Find.By("tagname", "li") && Find.ByValue("lookupString"));

لكنه لم يجده، هل تمكن أي شخص من القيام بما أحاول القيام به؟

هل كانت مفيدة؟

المحلول

النسخة المختصرة من ذلك هي:

string lookupString = "string in list";
Element list = Browser.Element("li", Find.ByText(new Regex(lookupString)));
list.MouseDown();

سوف تقوم Regexs بمطابقة جزئية حتى لا تفعل ذلك يحتاج لتحديد .* على كلا الجانبين واستخدام string.Format.ومع ذلك، يفترض هذا أن سلسلة البحث لا تحتوي على أي أحرف خاصة بـ Regexs، ويجب تجاوزها.

نصائح أخرى

في حال كان شخص ما لديه نفس المشكلة.يعمل مع الكود التالي:

string lookupString = "string in list";
Regex lookup = new Regex(string.Format(".*{0}.*", lookupString));
Element list = Browser.Element("li", Find.ByText(lookup));
list.MouseDown();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top