首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得一个元素,其中我选择的属性可以在Selenium Webdriver C#中更改?

如何获得一个元素,其中我选择的属性可以在Selenium Webdriver C#中更改?
EN

Stack Overflow用户
提问于 2022-02-13 20:51:25
回答 1查看 136关注 0票数 1

我想获得一些元素的src属性,如下所示:

代码语言:javascript
复制
    <div class="product-tile restored" data-v-27bc931c=""><a href="/p/apple-iphone-11-pro/R1NFM0000000T7"
        class="product-tile__link">
        <div class="product-tile__image product-img-front">
            <img alt="Apple  iPhone 11 Pro"
                data-src="/img?width=300&amp;height=300&amp;action=resize&amp;url=/catalog/product/6/f/6f7466aef1ae14ee4fe9764531ef69a1.jpg"
                src="/img?width=300&amp;height=300&amp;action=resize&amp;url=/catalog/product/6/f/6f7466aef1ae14ee4fe9764531ef69a1.jpg"
                lazy="loaded">
            <div class="image-loading"></div>
            <!---->
        </div>
        <div class="product-tile__description">
            <div title=" iPhone 11 Pro" class="product-tile__name"><span class="product-tile__brand">Apple</span> iPhone
                11 Pro
            </div>
            <!---->
        </div>
        <div class="product-tile__footer">
            <div class="product-tile__condition">
                <div>Various conditions<span class="colors"><span class="dot">•</span>4 Colors</span></div>
            </div>
            <div class="product-tile__price">
                <div class="price" data-v-678b2a80="">
                    <div class="current-price" data-v-678b2a80="">
                        <div class="from" data-v-678b2a80="">from</div>
                        <div data-testid="productPrice" class="amount" data-v-678b2a80="">
                            $647.00
                        </div>
                    </div>
                    <div data-v-678b2a80=""><span class="amount amount--del" data-v-678b2a80="">$1049.00</span> <span
                            class="amount amount--save" data-v-678b2a80="">Save
                            $402.00</span></div>
                </div>
            </div>
        </div>
        <div class="product-tile__loading"></div>
    </a>
    <!---->
</div>

我正在使用driver.FindElement(By.CssSelector("img[lazy='loaded")),但问题是这个属性也可以是loading。当我尝试driver.FindElement(By.TagName("img"))时,它不起作用。

我不想使用TryCatch。怎样才能得到src?这是我想刮的网站

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-13 20:58:40

要考虑这两种情况,当懒惰属性值为loadedloading时,可以为css-选择器使用逗号分隔的值,并使用以下https://stackoverflow.com/a/48376890/7429447

代码语言:javascript
复制
driver.FindElement(By.CssSelector("img[lazy='loaded'], img[lazy='loading']"))

参考文献

您可以在以下网站找到几个相关的详细讨论:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71104736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档