Цикл по серии страниц (WebElement) с использованием Selenium / Python - PullRequest
1 голос
/ 05 апреля 2020

Я пытаюсь l oop через ряд страниц (javascript) со следующей веб-страницы:

http://nh.mypublicnotices.com/PublicNotice.asp?Page=SEARCHRESULTS

Я нашел все из элементов, которые мне нужны, чтобы l oop через, но я не могу нажать на него. Что было бы лучшим способом l oop через эти javascript элементы:

from selenium.webdriver.support.select import Select

next_page=driver.find_elements_by_xpath('//[@id="PublicNoticeContent"]/table[2]/tbody/tr/td/table[2]/tbody/tr[6]/td/table/tbody/tr/td/table/tbody/tr[1]/td/a')

for i in next_page:
    link=i.get_attribute("href")
    Select(link)
    Select.click()

1 Ответ

0 голосов
/ 06 апреля 2020

Вам нужно повторить ваши материалы на Выбрать и работать с классом.

link=i.get_attribute("href")
Select(link)

Этот код только что получил то, что лучше было бы тегом SELECT, но это, безусловно, выглядит так, как будто вы взяли только href. Вы пытались создать объект Select по этой ссылке ... но затем, создав его, вы не смогли его сохранить: вы выбросили его.

Select.click()

Я не совсем уверен, как вы ожидаете, что это будет работать: это вызывает click как прямой вызов метода class , но Select не имеет такого метод, так что это не удастся, потому что атрибут не существует: сообщение об ошибке, которое вы не предоставили в своем сообщении.

Начните с этого: как только вы поработаете с учебными материалами и научитесь извлекать правильный тег SELECT с URL i ... возможно

select_tag = i.find_element_by_tag_name(“select”)).select_by_index(0)
clickable = Select(select_tag)
clickable.click()

Вы щелкаете по созданному вами объекту , а не по классу.

Помогает ли это вам в работе? ? Вам все еще нужно выяснить, как кодировать эту первую строку в вашем приложении.

...