![](/img/trans.png)
[英]How to get the background url of the image using the javascript or selenium
[英]How to retrieve the url from background image using Selenium and Javascript
我正在嘗試使用 Xpath 或 Javascript 從背景圖像中檢索 url,但現在沒有運氣。 這就是我所擁有的
<div style="width: 100%; display: inline-block;">
<div tws-article-images-preload="item" class="tws-article-images--preload ng-scope tws-article-images--
image-small" ng-click="closeImage()" use-original="useOriginal" style="background-image:
url("https://i.pinimg.com/originals/59/54/b4/5954b408c66525ad932faa693a647e3f.jpg;);">
</div>
</div>
並嘗試了這兩種不同的修改
//*[starts-with(@style, 'background-image: url()] <--Did not work
return document.getElementsByClassName('tws-article-images--preload ng-scope tws-article-images--image-small').src
document.getElementsByClassName('classname')[0].style.backgroundImage.slice(4, -1).replace(/"/g, "");
你可以試試
return document.getElementsByClassName('tws-article-images--preload ng-scope tws-article-images--image-small').style.backgroundImage.slice(4, -1).replace(/["']/g, "");
您的 XPath 表達式是錯誤的(缺少'
和可能令人討厭的CRLF
)。 修復它:
//*[starts-with(@style, 'background-image:')]/@style
然后使用正則表達式清理結果:
txt = 'background-image: url("https://i.pinimg.com/originals/59/54/b4/5954b408c66525ad932faa693a647e3f.jpg;);'
result = re.sub(r"^.+\"(.+?);.+", r"\1", txt)
print(result)
使用 XPath:
substring-after(substring-before(//*[starts-with(@style, 'background-image:')]/@style,';)'),'"')
Output: https://i.pinimg.com/originals/59/54/b4/5954b408c66525ad932faa693a647e3f.jpg
要從背景圖像中檢索 url,您可以使用以下解決方案:
使用slice()
:
var img = document.getElementsByClassName('tws-article-images--preload')[0], style = img.currentStyle || window.getComputedStyle(img, false), bgImage = style.backgroundImage.slice(4, -1).replace(/"/g, ""); //printing the url console.log('Image URL: ' + bgImage);
使用正則表達式:
var img = document.getElementsByClassName('tws-article-images--preload')[0], style = img.currentStyle || window.getComputedStyle(img, false), var url = backgroundImage.match(/url\(["']?([^"']*)["']?\)/)[1]; //printing the url console.log('Image URL: ' + url);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.