ChromeHeadless 不会检索浏览器开发工具中看到的页面元素

发布于 2025-01-10 06:49:27 字数 560 浏览 1 评论 0原文

在此页面中:

https://www.bedbathandbeyond.com/store/product/oo-by-olivia-oliver-turkish-modal-bath-towel-collection/5469128?categoryId=13434

我可以看到一个按钮“添加到购物车”文本,我也可以在开发工具中看到它。

但是,当 ChromeHeadless 使用 selenium 检索相同的页面源并且我的脚本搜索它时,此文本不存在。

我尝试在浏览器中选择显示页面源,源也没有“添加到购物车文本”

此外,我使用卷曲来获取页面,“添加到购物车”也不在返回的页面源中。

我做错了什么?

页面隐藏了按钮吗?

我如何检查它是否存在,以进行产品可用性检查?

In this page :

https://www.bedbathandbeyond.com/store/product/o-o-by-olivia-oliver-turkish-modal-bath-towel-collection/5469128?categoryId=13434

I can see a button with "Add to Cart" text , I can also see it in dev tools.

But when the same page source is retrieved by ChromeHeadless using selenium, and my script searches for it, this text is not present.

I tried with selecting show page source in the browser, the source too did not have the "Add To Cart text"

Further I used a curl to GET page, "Add To Cart" wasn't in the returned page source either.

What am I doing wrong?

is the page hiding the button?

How can I check for its presence, for product availability check?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光倒影 2025-01-17 06:49:27

您要查找的元素位于影子 DOM 内部。您需要首先访问影子根。如果不进行一些尝试和错误,很难准确地了解 DOM 中发生的情况,但类似这样:

WebElement shadowHost = driver.findElement(By.cssSelector("#wmHostPdp"));
SearchContext shadowRoot = shadowHost.getShadowRoot();
WebElement addToCart = shadowRoot.findElement(By.cssSelector(".shipItBtnCont button"));

More info on Shadow DOM &硒 — https://titusfortner.com/2021/11/ 22/shadow-dom-selenium.html

The elements you are looking for are inside the shadow DOM. You need to access the shadow root first. Hard to see exactly what is going on in the DOM without some trial and error, but something like this:

WebElement shadowHost = driver.findElement(By.cssSelector("#wmHostPdp"));
SearchContext shadowRoot = shadowHost.getShadowRoot();
WebElement addToCart = shadowRoot.findElement(By.cssSelector(".shipItBtnCont button"));

More info on Shadow DOM & Selenium — https://titusfortner.com/2021/11/22/shadow-dom-selenium.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文