2014-01-11 1 views
5
rows = driver.find_element_by_xpath("//div[@style='display: block;']//table[@style='display: table;']//tr") 

Когда я пытаюсь перебрать строки возникает ошибка TypeError: 'WebElement' object is not iterableперебрать webelement, полученный с использованием селена

def get_size(e): 

    for entry in e: 

    count = count + 1 
    return count 

get_size(rows) 
+0

'type' расскажет вам тип объекта (ну, на самом деле, вы уже знаете, это' WebElement'.) и 'dir' поможет вам выяснить, какие методы доступны. Это может быть хорошим местом для начала. – jpmc26

+4

Ваша проблема в том, что 'find_element_by_xpath()' возвращает единственный результат. Вам нужно 'find_elements_by_xpath()', если вам нужен набор результатов. –

ответ

15

Попробуйте это. Это должно сработать. использовать find_elements_by_xpath

Listlinker = [] 
Listlinker = driver.find_elements_by_xpath(""//div[@style='display: block;']//table[@style='display: table;']//tr") 
for link in Listlinker: 
// more code 
+0

Спасибо большое! find_elements_by_xpath works :) – user3179786

+1

Если это помогло вам, пожалуйста, запустите шрифт, чтобы пометить ответ как правильный. –

+0

Хороший ответ. Должно быть, видел это много раз, однако никогда не понимал разницы с множественными «элементами» до этого. –

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