Получить URL из onClick для парсинга - PullRequest
0 голосов
/ 08 мая 2020

Придется автоматизировать ежедневную задачу получения определенного URL-адреса с веб-сайта. Вот и подумываю создать скребок для завершения работы. Но застрял в точке, где я хочу получить URL-адрес из функции onClick, которая находится внутри div

  • Это селектор, который я использую для получения html моей цели
    const htmlString1 = $('div[id="download_link"] > a').html()

В результате я получаю

<div onclick="openInNewTab('https://example.com/');" class="btn btn-sm btn-outline" style="background-color:#18bc9c;color:white;">
<i class="fa fa-download"></i> ⚡Get The File⚡ <i class="fa fa-download"></i>
</div>
  • Все, что я хочу, это получить URL-адрес https://example.com из приведенного выше HTML

Заранее благодарю :)

Ответы [ 2 ]

1 голос
/ 08 мая 2020

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

 const url = $('#download_link').html().split("'")[1];
 
 console.log(url);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="download_link">
<div onclick="openInNewTab('https://example.com/');" class="btn btn-sm btn-outline" style="background-color:#18bc9c;color:white;">
<i class="fa fa-download"></i> ⚡Get The File⚡ <i class="fa fa-download"></i>
</div>
</div>
0 голосов
/ 08 мая 2020

Измените HTML на следующее:

<div onclick="getURL('https://example.com/');" class="btn btn-sm btn-outline" style="background-color:#18bc9c;color:white;">
<i class="fa fa-download"></i> ⚡Get The File⚡ <i class="fa fa-download"></i>
</div>

и тогда ваш js будет выглядеть так:

function getURL(url)
  {
      console.log(url);
      //put your code here to do what you want with var url
  }

Рабочий пример: https://codepen.io/fraggley/pen/eYpMEzv

...