Есть ли способ получить все элементы с одинаковым типом класса - PullRequest
0 голосов
/ 28 октября 2019

Используя клиент Python Appium, я хочу получить все представления, возвращаемые;

elements = driver.find_elements_by_class_name(‘foo’) в контейнере;как список или другое.

Могу ли я попробовать

elements = driver.find_elements_by_class_name(‘foo’)
for i in len(elements)
   list_element + i = elements

Затем я могу получить доступ к списку элементов, принадлежащих к классу, используя list_element?

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Спасибо, @frianH, я уже сделал нечто подобное,

# Test EditText Class
user_action = TouchAction(driver)
element_class = driver.find_elements_by_class_name("android.widget.EditText")

element_class[0].click()
driver.set_value(element_class[0], "Goodies")

# swipe down on new screen
user_action.driver.execute_script('mobile: performEditorAction', {'action': 'done'})

, так есть ли способ print (elements[i]) То есть получить имя элемента?

Кроме того, кодчто сильно ударил не работает. Я пытался поставить задержку, прежде чем позвонить .. все еще ничего, какие-либо предложения?

0 голосов
/ 31 октября 2019

Да, вы можете сделать это. Допустим, вы хотите нажать:

elements = driver.find_elements_by_class_name('foo')
for element in elements:
    element.click()

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

elements = driver.find_elements_by_class_name('foo')
#first element
elements[0].click()
...