2016-02-24 2 views
1

В моей проблеме используется использование Selenium для получения значений списка и передачи их в WebElement с помощью send_keys.Проблема Selenium при использовании аргумента функции для значения send_keys

предполагая list_item_1 и list_item_2 были импортированы с помощью электронных таблиц и arg_1 и arg_2 являются конкретным элементом каждого списка:

def run(arg_1, arg_2): 
    driver.get(URL_TO_SITE) 
    form_element_1 = driver.find_element_by_id('ELEMENT_ID') 
    form_element_2 = driver.find_element_by_id('ELEMENT_ID') 

    form_element_1.send_keys(arg_1) 
    form_element_2.send_keys(arg_2) 
    ... 
    action.perform() 

Запуск этого дает ошибку:

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py",

line 326, in send_keys for i in range(len(val)):

TypeError: object of type 'WebElement' has no len()

Это, кажется, проблема для использования аргументов функции в качестве аргумента send_keys. Есть ли обходной путь здесь?

ответ

1

Похоже arg_1arg_2 и являются WebElement случаи, и вы, вероятно, имели в виду, чтобы отправить их текст в send_keys():

form_element_1.send_keys(arg_1.text) 
form_element_2.send_keys(arg_2.text) 
+0

Это был вопрос. Это было странно, учитывая, что аргументами функции были строки из списка. –

Смежные вопросы