硒:获得其中包含特定DIV类的Div

发布于 2025-02-13 17:50:48 字数 1581 浏览 2 评论 0原文

我有一个页面结构,其中包含分配给多个Divs的类名。但是,有一个特定的DIV将包含其中一个特定的Div.级,该类别会动态地发生。

<div class="ProductVariants__VariantCard-sc-1unev4j-3 bEuNss">
   <div class="ProductVariants__RadioButtonContainer-sc-1unev4j-4 jqJIBg">
     <div class="ProductVariants__RadioButtonOuter-sc-1unev4j-5 jcgpFW">
       <div class="ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM">
       </div>
     </div>
   </div>
   <div class="ProductVariants__VariantDetailsContainer-sc-1unev4j-7 fvkqJd">
     <p class="ProductVariants__VariantUnitText-sc-1unev4j-8 bZvIga">50 g</p>
     <div class="ProductVariants__PriceContainer-sc-1unev4j-9 jjiIua">
       ₹111 
       <span class="ProductVariants__MRPText-sc-1unev4j-10 jEinXG">
         ₹345
       </span>
     </div>
   </div>
</div>

如果您在这里看到此类productVariants__radioButtonner-sc-1unev4j-6 fgfqym行号4将包含在该特定类中。尽管可能有productVariants__variantcard-sc-1unev4j-3 beunss的倍数。

我如何获得类productVariants__variantCard-sc-1unev4j-3 beunss,其中包含productvariants__radiobuttoninner-sc-1unev4j-6 fgfqym

这是我尝试的

driver.find_element(by=By.XPATH, value="//div[contains(@class,'ProductVariants__VariantCard-sc-1unev4j-3 bEuNss')]//div[contains(@class, 'ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM')]")

,但是这给了我内部的div,而不是整个外部div

'<div class="ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM"></div>'

I have a page structure which contains a classname assigned to multiple divs. But there is one specific div that will contain a specific div.class inside it which happens dynamically.

<div class="ProductVariants__VariantCard-sc-1unev4j-3 bEuNss">
   <div class="ProductVariants__RadioButtonContainer-sc-1unev4j-4 jqJIBg">
     <div class="ProductVariants__RadioButtonOuter-sc-1unev4j-5 jcgpFW">
       <div class="ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM">
       </div>
     </div>
   </div>
   <div class="ProductVariants__VariantDetailsContainer-sc-1unev4j-7 fvkqJd">
     <p class="ProductVariants__VariantUnitText-sc-1unev4j-8 bZvIga">50 g</p>
     <div class="ProductVariants__PriceContainer-sc-1unev4j-9 jjiIua">
       ₹111 
       <span class="ProductVariants__MRPText-sc-1unev4j-10 jEinXG">
         ₹345
       </span>
     </div>
   </div>
</div>

If you see here this class ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM Line number 4 will be contained within one that specific class. Though there could be multiple of ProductVariants__VariantCard-sc-1unev4j-3 bEuNss.

How do I get the class ProductVariants__VariantCard-sc-1unev4j-3 bEuNss which contains ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM inside it.

This is what I have tried

driver.find_element(by=By.XPATH, value="//div[contains(@class,'ProductVariants__VariantCard-sc-1unev4j-3 bEuNss')]//div[contains(@class, 'ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM')]")

But this instead gives me the inner div and not the whole outer div

'<div class="ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM"></div>'

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

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

发布评论

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

评论(2

倾城°AllureLove 2025-02-20 17:50:48

class =“ productvariants__variantcard-sc-1unev4j-3 beunss 相对于;带有 class =“ productVariants__radiobuttoninner-sc-1unev4j-6 fgfqym 您可以使用以下 rocator策略

driver.find_element(by=By.XPATH, value="//div[starts-with(@class, 'ProductVariants__RadioButtonInner')]//ancestor::div[starts-with(@class, 'ProductVariants__VariantCard')]")

To identify the <div> with class="ProductVariants__VariantCard-sc-1unev4j-3 bEuNss with respect to the <div> with class="ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM you can use the following Locator Strategy:

driver.find_element(by=By.XPATH, value="//div[starts-with(@class, 'ProductVariants__RadioButtonInner')]//ancestor::div[starts-with(@class, 'ProductVariants__VariantCard')]")
宫墨修音 2025-02-20 17:50:48

如果要选择包含特定后代节点的祖先节点尝试

driver.find_element(by=By.XPATH, value="//div[contains(@class,'ProductVariants__VariantCard-sc-1unev4j-3 bEuNss') and .//div[contains(@class, 'ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM')]]")

If you want to select ancestor node that contain specific descendant node try

driver.find_element(by=By.XPATH, value="//div[contains(@class,'ProductVariants__VariantCard-sc-1unev4j-3 bEuNss') and .//div[contains(@class, 'ProductVariants__RadioButtonInner-sc-1unev4j-6 fgFqYM')]]")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文