Проблема в том, что метод get_attribute()
возвращает значение атрибута. В этом случае атрибут href
, поэтому он возвращает str
obj. Обратите внимание, что веб-элемент elem
кликабелен. Но, если вы нажмете на elem
. Таким образом, вы перейдете на следующую страницу, поэтому перебирать все эти веб-элементы (elems
) будет невозможно, так как драйвер перейдет на следующую страницу!
Другой способ добиться того, что вы ищете, - создать список ссылок и выполнить итерацию по нему, как показано ниже:
links = []
elems = driver.find_elements_by_xpath("//a[@href]")
for elem in elems:
print(elem)
links.append(elem.get_attribute("href"))
for link in links:
driver.get(link)
# do you stuff
Таким образом, мы собираем все ссылки из списка веб-элементов, т.е. elems
, перебирая его. После сбора всех ссылок и сохранения их в списке мы перебираем собранный список URL.