gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 01:45:50 29 4
gpt4 key购买 nike

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

<div id="pic" class="pic" data-type="image" style=" background-image: url(http://test.com/images/image.png;); height: 306px; background-size: cover;"></div>

最佳答案

要获取背景图像,您需要使用 value_of_css_property(property_name)方法,您必须为 visibility_of_element_located() 引入 WebDriverWait 并且您可以使用以下任一项 Locator Strategies :

  • 使用 CSS_SELECTOR:

    import re

    my_property = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.pic#pic[data-type='image']"))).value_of_css_property("background-image")
    print(re.split('[()]',my_property)[1])
  • 使用 XPATH:

    import re

    my_property = 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")
    print(re.split('[()]',my_property)[1])
  • 控制台输出:

    test.com/images/image.png

更新

由于 url 被双引号括起来,即 "..." 您可以使用以下解决方案:

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])

引用资料

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

关于python - 如何使用 selenium 从内联 css 获取背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59103063/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com