Не удается получить атрибут URL-адреса href - PullRequest
0 голосов
/ 05 августа 2020

Я не могу вернуть href, я проверил все страницы stackoverflow, чтобы узнать, есть ли решение, но, к сожалению, я попробовал много из них и не работал.

Вот как это выглядит :

<a href="https://test.cc/l/2342942">this is a test</a>

когда я хочу скопировать селектор, он показывает мне следующее:

#bodyblock > ul > li:nth-child(1) > h4 > a

Ну, когда я использую этот селектор, он показывает мне только текст (это тест), а не ссылка .. мне нужен URL-адрес этой ссылки.

Я пробовал что-то вроде этого,

var titlesList = document.querySelectorAll('#bodyblock > ul > li:nth-child(1) ');

или это

var titlesList = document.querySelectorAll('#bodyblock > ul > li:nth-child(1) ').href;

и это

let list = await page.$$eval('#bodyblock > ul > li:nth-child(1) > h4 ', a => a.href);
    console.log (list)

none возвращает URL-адрес, что я делаю не так?.

с уважением

Ответы [ 2 ]

2 голосов
/ 05 августа 2020

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

const url = await page.$eval('#bodyblock > ul > li:nth-child(1) > h4 > a', el => el.href);
1 голос
/ 05 августа 2020
    function getHref(){
       var attrHref = document.querySelector("a").getAttribute("href");
       console.log(attrHref);
    }
    getHref();

.getAttribute("href") должен возвращать URL-адрес.

Найдите здесь скрипт из приведенного выше кода: https://jsbin.com/lototozezu/edit?html, js, console, output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...