Как вызвать событие click в DOM, загруженном через Ajax, но НЕ ПРИЛОЖЕННОМ - PullRequest
0 голосов
/ 09 ноября 2019

Мне нужно вызвать клик по всем элементам соответствий и затем прочитать dom, сгенерированный в dom, сохраненный в переменную, как я могу это сделать, не добавляя dom получить его из вызова ajax?

Или какМогу ли я загрузить dom в какую-то скрытую вкладку браузера, чтобы сделать возможными всплывающие окна и события в документах?

let url = 'https://www.amazon.com/dp/B07VHXT1R3';
  $.get( url ).then(resp => {
    let dom = $( resp );

    //images preload 
    dom.find('#altImages li input').each(function(){
      // this would generate other elements inside the dynamic dom,
      // but this is stored into a variable 
      $(this).trigger('click');
    });

    let images = [];
    dom.find('li.image img').each(function(){
      // this would have to read the images generated
      // but only read one element that comes already rendered 
      images.push( $(this).data('old-hires') || this.src );
    });

[ ... ]

В частности, мне нужно всплыть в dom, НЕ отрендеренный и без объектов окна и документа, связанных

У кого-нибудь есть идеи, как это сделать без сбоя оперативной памяти?

1 Ответ

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

Я решил с помощью регулярных выражений

let images = dom.text().match(/(?<="hiRes":")([^"]+)(?=")/gi).filter( (v, i, s) => { return s.indexOf(v) === i });
...