Это сообщение об ошибке ...
JavascriptException: Message: javascript error: arguments[0].click is not a function
... подразумевает, что вызов click () на arguments[0]
с использованием execute_script()
завершился неудачно.
Еще немного информации о шагах помогло бы нам построить канонический ответ. Однако, предположительно, поскольку вы собираете hotel_links
сразу после:
driver.get(link2)
hotel_links = driver.find_elements_by_xpath('//div[@class="hotelList-detailsContainer"]//div//div//p//a')
Итак, изначально hotel_links
содержит WebElements . Но в следующей строке вы перезаписываете List hotel_links
с elem.text следующим образом:
hotel_links = [elem.text for elem in hotel_links]
Итак, hotel_links
теперь содержит элементы типа text .
As text element не поддерживает click()
, следовательно, вы двигаетесь вперед, когда вы пытаетесь вызвать click()
в текстовых элементах через execute_script()
, вы видите указанную ошибку.
Решение
Если вам нужен текст ссылок на отели, сохраните их в отдельном списке , как показано ниже:
hotel_links_text = [elem.text for elem in hotel_links]
Ссылка
Вы можете найти пару соответствующих обсуждений в: