селен c # - PullRequest
       39

селен c #

0 голосов
/ 15 июля 2009

Привет всем, я использую эту функцию, чтобы получить имена полей ввода из браузера. Проблема в том, что на нескольких моих сайтах поля ввода имеют одинаковую позицию, поэтому я не могу их циклически корректировать. Любые идеи, как сделать этот цикл по-другому, как позиция? Спасибо.


public void hladame_fieldy ()
{
            //fieldy
            string nazov_fieldu;
            decimal celkovy_pocet_fieldov = selenium.GetXpathCount ("//input[@type='text']");
            string field = "@type='text'";
            int b = 1;
            for (b = 1;b<=celkovy_pocet_fieldov;b++)
            {
                nazov_fieldu = selenium.GetAttribute("xpath=//input[position()="+b+" and "+field+"]@name");
                Console.WriteLine(nazov_fieldu);
            }
            Console.WriteLine ("Celkovy pocet fieldov je = " + celkovy_pocet_fieldov);
        }

Ответы [ 2 ]

0 голосов
/ 15 июля 2009

окончательное решение:

public void hladame_fieldy ()

    {
            //fieldy
            string nazov_fieldu;
            decimal celkovy_pocet_fieldov = selenium.GetXpathCount ("//input[@type='text']");
            int b = 1;
            string pomoc = "";
            for (b = 1;b<=celkovy_pocet_fieldov;b++)
            {
                    nazov_fieldu = selenium.GetAttribute("xpath=//input[@type='text'" + pomoc +"]@name");
                    pomoc = pomoc + " and @name!= '" + nazov_fieldu + "'";
                    Console.WriteLine(nazov_fieldu);
            }
            Console.WriteLine ("Celkovy pocet fieldov je = " + celkovy_pocet_fieldov);
    }
0 голосов
/ 15 июля 2009

Поскольку у вас есть количество элементов, вы можете просто просмотреть их в виде массива

public void hladame_fieldy ()
{
                //fieldy
                string nazov_fieldu;
                decimal celkovy_pocet_fieldov = selenium.GetXpathCount ("//input[@type='text']");
                string field = "@type='text'";
                int b = 1;
                for (b = 1;b<=celkovy_pocet_fieldov;b++)
                {
                        nazov_fieldu = selenium.GetAttribute("xpath=//input[" + b + "]@name");
                        Console.WriteLine(nazov_fieldu);
                }
                Console.WriteLine ("Celkovy pocet fieldov je = " + celkovy_pocet_fieldov);
        }

Таким образом, вы просто просматриваете все входные элементы в DOM сверху вниз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...