Overlay popup cannot press

Hi,

I am all new to scraping, and even though web scraper makes it fairly simple, I am facing some issues with an overlay popup.

Url: Ultimate Collection experience gift | Tinggly

I would like to scrape some of the content on each product page on the above mentioned URL, but when pressing the product I've would normally expect a direct link which goes to the product page, but instead it opens a javascript overlay popup which need to be pressed to enter the product page.
I think that I would like to use the element click feature to set a click selector for the "more info" bottom, but unfortunately when I ask it to press the "more info" bottom to enter the product page, the it immediately goes to the product page with the following error message: "* A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received"
It is clear that somehow I am not able to press any bottoms in the overlay via WS. Is there a fix to that? maybe a workaround of the javascript so it goes directly to the product page?

Thanks a lot! :slight_smile:

@Philip1 Hi, are you looking to have an output like this?

Hi Viesturs,

I've managed it anyway. It turned out that if I've made the window pretty small, that would trigger the popup not to popup. Therefore bypassing the javascript. So all good.

Thanks

This error message indicates that there was a problem with the communication between the listener and the message channel. The reason is that sendMessage is now promisified internally, so you can 'await' it, but the by-product is that when you don't specify a callback yourselves, it is added internally anyway in order for the call to return a Promise, which means that since you don't call sendResponse in onMessage, the API will think that it was you who made a mistake of using a callback and not providing a response, and report it as such.

Since the new behaviour is very confusing for almost everyone, a solution might be to stop showing this error when the callback is not specified, however it might cause confusion for those developers who still use callbacks and forgot to call sendResponse inside onMessage by mistake, which should be reported ideally as it always was.

If you see your extension causing this errors - inspect closely all your onMessage listeners. Some of them probably need to start returning promises (marking them as async should be enough).

If still error showing, try disabled all installed extensions in Chrome then you will get a clear console without errors.