Как я могу выбрать, что находится в текстовом поле на веб-сайте с python и Selenium? - PullRequest
0 голосов
/ 19 марта 2020

Я заполняю онлайн-форму, чтобы генерировать коды для работы. Иногда мне придется генерировать сотни кодов за раз, и поэтому я решил автоматизировать его, чтобы облегчить свои дни. Я столкнулся с проблемой, хотя. Эта форма принимает «Начальные даты» и «Конечные даты», чтобы позволить коду работать в течение этого периода времени. Эта форма может генерировать только коды, которые работают с 17-дневными интервалами, поэтому я должен разделить и переформатировать исходные даты начала и окончания на новые с указанными интервалами (что я успешно сделал). По какой-то причине, хотя, после того, как я отправляю даты, они не отправляют как напечатано ранее. Например, код, который будет длиться с 04/07/20-05/25/20 моего процесса, напечатает:

Начало: ['04 / 07/20 ', '04 / 23/20' , '05 / 09/20 ']

Конец: ['04 / 23/20', '05 / 09/20 ', '05 / 25/20']

и, надеюсь, отправьте на веб-страницу первую дату каждого списка, а затем повторите оставшиеся даты. Кажется, когда я запускаю сценарий в течение длительного периода времени, и он начинается с даты, такой как 03/03 / 20-06 / 06/20 (длинный интервал), за которой следует 03/03 / 20-04 / 04/20 ( короткий интервал) прерывается, посылая одну и ту же дату в поля даты начала и окончания. Я пытаюсь определить, когда оба поля одинаковы, остановить процесс, но я не могу вытащить текст из поля. Я перебираю электронную таблицу, которая содержит всю информацию, необходимую для веб-формы, поэтому после первой итерации я хочу постоянно проверять поля даты начала и окончания на наличие похожих экземпляров. Код:

    while counter1 < val:
        start = driver.find_element_by_id('txtStartDate')
        print(start.text)
        end = driver.find_element_by_id('txtEndDate')
        print(end.text)

        if start == end: <--------------------------------This is where I am trying to find the issue
            row == 1000  <-----------------Here I am trying to ultimately break the script to stop it

        for item in StartDates:
            item = item[:-2] + '20' + item[-2:]

            #---Create Start Dates----#

            start_item = []
            start_item.append(item)
            start_item1.append(start_item)
            #----Send Item to STARTDATES----#
            start.clear()
            start.send_keys(start_item)
            print(start.text)
            start.send_keys(Keys.ENTER)

            trash1.append(StartDates[0])
            for i in trash1:
                if i in StartDates:
                    StartDates.remove(i)
            print('Start: ' , StartDates)
            break
        for item in EndDates:
            item = item[:-2] + '20' + item[-2:]
            #---Create End Dates----#
            end_item = []
            end_item.append(item)
            end_item1.append(end_item)
            #----Send Item to ENDDATES----#
            end.clear()
            end.send_keys(end_item)
            print(end.text)
            end.send_keys(Keys.ENTER)
            trash2.append(EndDates[0])
            for i in trash2:
                if i in EndDates:
                    EndDates.remove(i)
            print('End:' , EndDates)
            break 

Спасибо за помощь!

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