如何使用python访问selenium的CSS数据?

时间:2017-02-01 07:02:37

标签: python css django selenium

使用python(3.4),django(1.9)和selenium(3.0.2),我试图找出,我如何访问自动测试的CSS代码?

我正在尝试做什么:我想确保在相应的网页上加载相应的背景图片。过去,当我改变项目的静态设置时,这些都已破坏。我将图像编码到CSS中就像是:

background: url('image.jpg')

基本上,我想做类似的事情:

css = self.browser.get_css_data('example.css')
self.assertIn('image.jpg', css)

我没有进行详尽的搜索,但我没有在selenium源代码webdriver.py中看到任何类似的内容。

我能做什么的想法?

如果上下文有帮助,我的代码会更多:

from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from selenium import webdriver
from time import sleep


class UnauthenticatedTest(StaticLiveServerTestCase):
    def setUp(self):
        self.browser = webdriver.Firefox()
        self.browser.implicitly_wait(3)

    def tearDown(self):
        self.browser.quit()

    def test_home_page_loads_correctly(self):
        # The user loads the web page
        self.browser.get(self.live_server_url)
        self.assertIn('App Name', self.browser.title)

1 个答案:

答案 0 :(得分:0)

您可以检查元素的相应css属性,如下所示:

div = driver.find_element_by_xpath('//div[@class="some class name"]')
assert div.value_of_css_property('background-image') == 'url("http://myurl/image.jpg")'
assert div.value_of_css_property('color') == 'rgba(85, 85, 85, 1)'
...