Быстрая запись в текстовом поле с селеном и питоном - PullRequest
0 голосов
/ 14 сентября 2018

Я использую Selenium с Python (драйвер Chorme), чтобы написать что-то в текстовом поле, но есть много текстовых полей, и мне нужно, чтобы они заполнялись быстрее.Я использую последовательности

driver.find_element_by_xpath("//input[@class='string required' and @id='order_billing_name']").send_keys("test.com")

команд, но для записи 10-11 требуется много времени.Есть ли способ ускорить его?

1 Ответ

0 голосов
/ 14 сентября 2018

Вы можете попытаться установить значения, используя javascript:

orderBillingName = driver.find_element_by_id("order_billing_name")
driver.execute_script("arguments[0].value=arguments[1];", orderBillingName, "mytext")

Вы можете установить все напрямую с помощью javascript:

driver.execute_script("document.querySelector('#order_billing_name').value='mytext';"\
                   "document.querySelector('.order_number_class').value='12323';"\
                   "document.querySelector('input#anotherinputid').value='anything';")

Пример для полей лота:

fields = {
    "input#order_billing_name": "some text", 
    ".order_number_class"     : "some text", 
    "css selector"            : "some text", 
    "css selector"            : "some text",
    "css selector"            : "some text"
    }

js = ""
for selector, value in fields.items():
    js = js + "document.querySelector('" + selector + "').value='"+ value +"';"

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