Fail rendering if the content contains a string

Published on Dmytro Krasun 2 min read
There is a set of use cases when you want to fail screenshot rendering and retry it if the content of the page contains a string.

For example:

  1. If you use residential rotating proxies and a site blocks you with some specific test, you might want to retry the request instead of getting the successful screenshot of the page with the CAPTCHA or an error.
  2. Setting fail_if_content_contains=Coming Soon for your screenshot requests allows you to automatically ignore captures showing “Coming Soon” on a product page, ensuring you only get notified when the page updates to show the product is available for purchase.
  3. To focus monitoring on actual uptime and avoid capturing screenshots during nightly maintenance, configure your requests with fail_if_content_contains=Maintenance, thereby skipping any maintenance messages displayed on your application’s homepage.

You don’t pay for failed and cached screenshots with ScreenshotOne.

That’s exactly what you need the option fail_if_content_contains for.

Let’s quickly see how it works and how you can use it. Let’s first render the example.com page:

https://api.screenshotone.com/take?access_key=<your access key>&url=https://example.com

The result is:

The example.com website

Now, let’s try to fail it:

https://api.screenshotone.com/take?fail_if_content_contains=Illustrative+Examples+In+Documents&access_key=<your access key>&url=https://example.com

The result is:

{
"is_successful": false,
"error_message": "The page content contains the requested string `Prior` by the `fail_if_content_contains` option. If it seems to be a mistake or not what you expected, please, reach out to `support@screenshotone.com` as quickly as possible, and will assist and try to resolve your problem.",
"error_code": "content_contains_requested_string"
}

As you might notice, the match is case insensitive, it is done for simplicity.