Find the exact Big Time Watches product page or pages corresponding to supplied watch model/reference numbers, and optionally extract the exact product image assets displayed by each product page.
Use Cases
Use when the task supplies one or more watch references such as {model-number} and requires exact matching watch listings, product URLs, titles, visible listing data, or the product pictures from the resolved product pages. Process each reference independently because the site search URL accepts one query at a time. If an exact product URL is already available, skip search resolution and navigate directly to that URL.
Automation Flow
- For each supplied model/reference number, construct the direct search URL:
https://bigtimewatches.com/search?q={url-encoded-model-number} - Navigate directly to each search URL; do not visit the homepage or use the search form.
- On each loaded results page, run this extractor in the same browser call to collect the product links shown by the search:
(() => {
const query = new URL(location.href).searchParams.get('q') || '';
const seen = new Set();
const products = [...document.querySelectorAll('a[href*="/products/"]')]
.map(a => ({
href: new URL(a.getAttribute('href'), location.origin).href,
title: a.innerText.trim().replace(/\s+/g, ' ')
}))
.filter(p => p.title && !seen.has(p.href) && seen.add(p.href));
return { query, products };
})()- Treat the returned product links as the candidate exact-watch listings for that reference. Preserve the reference-to-result association and, when multiple candidates appear, select the listing whose visible title or product-page details match the supplied reference rather than guessing from a product slug.
- Navigate directly to the selected product URL and run the following extractor to return the product-page image assets. It prioritizes product-gallery containers so recommendation or recently viewed images are not mistaken for the requested product picture; it chooses the largest URL in each responsive
srcsetwhen available.
(() => {
const gallerySelectors = [
'media-gallery img',
'[data-product-media] img',
'.product__media-wrapper img',
'.product__media-list img',
'.product-gallery img',
'.product-images img'
];
let images = gallerySelectors.flatMap(selector => [...document.querySelectorAll(selector)]);
if (!images.length) {
images = [...document.querySelectorAll('img')].filter(img => {
const src = img.currentSrc || img.src || '';
return /\/(?:products|cdn)\//i.test(src) || /shopify/i.test(src);
});
}
const largestSrcsetUrl = img => {
const entries = (img.getAttribute('srcset') || '').split(',').map(part => {
const bits = part.trim().split(/\s+/);
return { url: bits[0], width: parseInt((bits[1] || '').replace('w', ''), 10) || 0 };
}).filter(x => x.url);
return (entries.sort((a, b) => b.width - a.width)[0] || {}).url || img.currentSrc || img.src || '';
};
const seen = new Set();
const productImages = images.map(img => ({
url: new URL(largestSrcsetUrl(img), location.href).href,
alt: (img.alt || '').trim()
})).filter(item => item.url && !seen.has(item.url) && seen.add(item.url));
return { productUrl: location.href, images: productImages, primaryImage: productImages[0] || null };
})()Possible Friction Points
- Big Time Watches exposes search results directly at
/search?q=...; URL-encode model numbers before inserting them intoq. - Product results use links containing
/products/. Deduplicate links because the same product may appear in multiple cards or repeated page regions. - Search results can contain more than one product link; do not fabricate a product URL or infer an opaque product identifier. Verify the model number against the visible result title or the linked product page when exact identity matters.
- The observed search flow used references including hyphens, so retain the supplied punctuation in the query value unless the site itself returns no result.
- Product images are exposed through Shopify/CDN-backed image URLs. Prefer images selected from the product-gallery selectors; the fallback URL filter is broader and may require checking
alttext and returned ordering if the theme changes. - Preserve the returned image URL rather than substituting a visually similar image from search cards or recommendation sections.