Получение всего href из кода - PullRequest
1 голос
/ 20 декабря 2011

Я делаю веб-сканер. Для поиска ссылок на странице я использовал xpath в селене

driver = webdriver.Firefox()
driver.get(side)
Listlinker = driver.find_elements_by_xpath("//a")

Это сработало нормально. Однако, протестировав сканер, я обнаружил, что не все ссылки находятся под тегом. href иногда также используется в тегах area или div.

Прямо сейчас я застрял с

driver = webdriver.Firefox()
driver.get(side)
Listlinkera = driver.find_elements_by_xpath("//a")
Listlinkerdiv = driver.find_elements_by_xpath("//div")
Listlinkerarea = driver.find_elements_by_xpath("//area")

, который действительно помещает сканирование в веб-сканер.

Я пробовал xpath "//@href", но это не работает. Я также попробовал несколько способов получить все href url эффективными способами, используя красивый суп и lxml, но пока безрезультатно. Извините, у меня нет кода для моих усилий с красивым супом и lxml, но так как они оказались бесполезными, я удалил их, что, на мой взгляд, не самая умная практика. Теперь я начал сохранять эти неудачные попытки ради себя, если захочу попробовать еще раз и хочу узнать, что пошло не так в первый раз

Любая помощь, которую я мог бы оказать в этом, будет принята с благодарностью.

1 Ответ

6 голосов
/ 20 декабря 2011

Попробуйте это:

ListlinkerHref = driver.find_elements_by_xpath("//*[@href]")
...