首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用selenium从内联css获取背景图像

如何使用selenium从内联css获取背景图像
EN

Stack Overflow用户
提问于 2019-11-29 10:30:15
回答 4查看 3.2K关注 0票数 4

使用python,如何使用selenium获取背景图像?哪一个有内联CSS?我想从后台获取图像URL : url()

代码语言:javascript
运行
复制
<div id="pic" class="pic" data-type="image" style=" background-image: url(http://test.com/images/image.png;); height: 306px; background-size: cover;"></div>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-11-29 11:05:37

要获得背景图像,您需要使用value_of_css_property(property_name)方法,并且必须为visibility_of_element_located()导出WebDriverWait,您可以使用以下任何一个Locator Strategies

使用

  • CSS_SELECTOR

导入re my_property =WebDriverWait(驱动程序,my_property)1)

  • Using打印(re.split(‘()),my_property)1)

  • UsingXPATH):

导入re my_property =WebDriverWait(驱动程序,my_property)1)

  • Console "//div@class='pic‘和@id='pic'"))).value_of_css_property("background-image") print(re.split()),my_property)1)

  • Console输出:

test.com/images/image.png

更新

当url以双引号(即"..." )结束时,您可以使用以下解决方案:

代码语言:javascript
运行
复制
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='pic' and @id='pic'][@data-type='image']"))).value_of_css_property("background-image").split('"')[1])

参考文献

你可以找到一些与以下相关的讨论:

检索How to convert #ffffff to #fff or #fff to #ffffff while asserting the background color rgb(255,255,255) returned by Selenium getCssValue("background")

中的子字符串

票数 7
EN

Stack Overflow用户

发布于 2019-11-29 11:48:06

试试这个:

代码语言:javascript
运行
复制
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.pic#pic[data-type='image']"))).get_attribute("href"))
票数 1
EN

Stack Overflow用户

发布于 2019-11-29 12:20:17

要获得URL,您需要使用regular expression。为了使用正则表达式Import re,然后使用以下正则表达式。

代码语言:javascript
运行
复制
import re
itemimage=WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, "div#pic"))).value_of_css_property("background-image")
print(re.search("(?P<url>http?://[^\s;]+)", itemimage).group("url")) 

输出

代码语言:javascript
运行
复制
http://test.com/images/image.png
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59103063

复制
相关文章

相似问题

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