我想获得一些元素的src属性,如下所示:
<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&height=300&action=resize&url=/catalog/product/6/f/6f7466aef1ae14ee4fe9764531ef69a1.jpg"
src="/img?width=300&height=300&action=resize&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"))时,它不起作用。
我不想使用Try和Catch。怎样才能得到src?这是我想刮的网站
发布于 2022-02-13 20:58:40
要考虑这两种情况,当懒惰属性值为loaded和loading时,可以为css-选择器使用逗号分隔的值,并使用以下https://stackoverflow.com/a/48376890/7429447
driver.FindElement(By.CssSelector("img[lazy='loaded'], img[lazy='loading']"))参考文献
您可以在以下网站找到几个相关的详细讨论:
https://stackoverflow.com/questions/71104736
复制相似问题