Получить все скрытые ссылки href селен питон - PullRequest
2 голосов
/ 01 ноября 2019

Я новичок в селене питона. и я хочу получить все скрытые ссылки href

<div class="page-body">
  <div class="page-title"></div>
  <div class="page cursorPointer">
    <a title="" data-placement="top" data-toggle="tooltip" href="#" data-original-title="Verified"></a></div>
</div>

и этот мой сценарий:

#!/usr/bin/python3
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
from selenium.webdriver.chrome.options import Options
import requests
import re
from openpyxl import Workbook

driver = webdriver.Chrome(options=options)

    driver.get(
       "https://someurl.com")

    pagelist = []

    content = driver.page_source
    soup = BeautifulSoup(content, 'lxml')
    for a in soup.findAll('div', attrs={'class': 'page cursorPointer'}):
        page = a.find_element_by_xpath("//a[@href]")

    pagelist.append(page.get_attribute("href"))

    df = pd.DataFrame({'Page': pagelist})
    df.to_excel('pagelist.xlsx', index=False, encoding='utf-8')

я получил эту ошибку:

page = a.find_element_by_xpath ("// a [@href]") TypeError: Объект 'NoneType' не может быть вызван

1 Ответ

0 голосов
/ 02 ноября 2019

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

pagelist = driver.execute_script("""
  return [...document.querySelectorAll('a[href]')].map(a => a.href)
""")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...