使用函数参数作为 send_keys 值的 Selenium 问题
Selenium issue in using a function argument for send_keys value
我的问题涉及使用 Selenium 获取列表的值并将它们传递给具有 send_keys 的 WebElement。
假设 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
参数的问题。这里有解决方法吗?
看起来 arg_1
和 arg_2
是 WebElement
个实例,您可能想在 send_keys()
中发送他们的 text :
form_element_1.send_keys(arg_1.text)
form_element_2.send_keys(arg_2.text)
我的问题涉及使用 Selenium 获取列表的值并将它们传递给具有 send_keys 的 WebElement。
假设 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
参数的问题。这里有解决方法吗?
看起来 arg_1
和 arg_2
是 WebElement
个实例,您可能想在 send_keys()
中发送他们的 text :
form_element_1.send_keys(arg_1.text)
form_element_2.send_keys(arg_2.text)