最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Puppeteer - Click on button by class name? - Stack Overflow

programmeradmin4浏览0评论

A. Consistency is all over the place; running !headless, I watch it sometimes work, sometimes it doesn't (like types in wrong data), it's really 50/50. How can my code be optimized for 100% reliability?
Update: Fixed inconsistencies by implementing a promise delay function & delaying actions.

How can I click on a button that is not a submit type nor has a name nor id?

<button class="sb-frap" data-e2e="sendGift">Send gift</button>

JS Path:

document.querySelector("#js-content > div > div:nth-child(6) > span > div > div.absolute.bg-white.overflow-auto.content___2_l5Q > div > div > div > div > div.invisible.base___3dWsJ.alwaysRelative___3FHV5 > div > span > div > button")
await Promise.all([
 await page.waitForSelector(".sb-frap"),
 await page.click('button[class=".sb-frap"]'),
  ]);
})();

Any help will greatly appreciated!

A. Consistency is all over the place; running !headless, I watch it sometimes work, sometimes it doesn't (like types in wrong data), it's really 50/50. How can my code be optimized for 100% reliability?
Update: Fixed inconsistencies by implementing a promise delay function & delaying actions.

How can I click on a button that is not a submit type nor has a name nor id?

<button class="sb-frap" data-e2e="sendGift">Send gift</button>

JS Path:

document.querySelector("#js-content > div > div:nth-child(6) > span > div > div.absolute.bg-white.overflow-auto.content___2_l5Q > div > div > div > div > div.invisible.base___3dWsJ.alwaysRelative___3FHV5 > div > span > div > button")
await Promise.all([
 await page.waitForSelector(".sb-frap"),
 await page.click('button[class=".sb-frap"]'),
  ]);
})();

Any help will greatly appreciated!

Share Improve this question edited Oct 6, 2019 at 0:52 ExoPlanet100 asked Oct 5, 2019 at 21:30 ExoPlanet100ExoPlanet100 2531 gold badge3 silver badges14 bronze badges 1
  • it has a class thou, you can use that. And why are you using promise all? – FabricioG Commented Jan 28, 2020 at 19:21
Add a ment  | 

1 Answer 1

Reset to default 12

Solution = Inspect Element -> Right click -> Copy -> Copy Selector

  await Promise.all([
      await page.click( paste selector here )
    ]);
发布评论

评论列表(0)

  1. 暂无评论