moahammad daneshjoo
moahammad daneshjoo

Reputation: 115

puppeteer show result in screenshot but cant get value of that result

after click on the search button, the puppeteer take a screenshot but I can't get the element's value

here is my code

await page.$eval('#textInputSelector',(el, licenceInfo) =>
                                     (el.value = licenceInfo),licenceInfo) 
               
const searchBtn = await page.$x('//*[@id="searchBtnXPath"]')
await searchBtn[0].click()

await page.waitFor(4000);

console.log(await page.$eval('#selector1', el => el.innerText));

await makeScreenShot(page, screenPath, { fullPage: true })

and the result is (red box)

result's image

and its HTML code output

  <div> 
    <span id="#selector1" >
      Your search returned no results. Please modify your search criteria 
      and try again.
    </span>                               
  </div>

and button html code

 <div id="#selector2"> 
      <a id="searchBtnXPath" href="
           javascript:
           __doPostBack('ctl00$PlaceHolderMain$btnNewSearch','');
           var p = new ProcessLoading();p.showLoading(false);">
        <span>Search</span>
     </a>
 </div>

and this is my error

Error: failed to find element matching selector "#selector1"

Upvotes: 1

Views: 102

Answers (1)

Vahid Najafi
Vahid Najafi

Reputation: 5263

Use this instead:

console.log(await page.$eval('body #selector1', el => el.innerHTML));

Upvotes: 1

Related Questions