如何使用硒测试 Python 中的 CSS 值?

How to test CSS values in Python using selenium?

我正在尝试使用 CSS 中的值测试视频尺寸,如下图所示。

下面的 Div 正在使用 CSS。以下是我到目前为止所做的以及我得到的错误。

def test_video_dimensions(browser):

browser.get(url_for("main.index", _external=True) + "video/title1/?video-height=500&video-width=750")

rows = browser.find_elements(
    By.XPATH, "/html/head/style[2]"
)
assert (
    rows[0].find_element(By.XPATH, "/html/head/style[2]").text
    == "CSS Value"
)

对于访问 CSS 样式标签的内部并比较其中的值有什么帮助吗?

试试下面的代码:

some_value = driver.find_element_by_xpath("//style[2]").get_attribute('innerHTML')
print(some_value)

输出:

.video-dimensions {
        width: 300px;
        height: 168.75px;
      }

      .video-dimensions.vjs-fluid {
        padding-top: 56.25%;
      }

现在,如果您只想获取宽度值,下面的代码可能适合您:

some_value = driver.find_element_by_xpath("//style[2]").get_attribute('innerHTML').strip()
arr = some_value.split(":")
ar = arr[1].split(";")
print(ar[0])

some_value = driver.find_element_by_xpath("//style[2]").get_attribute('innerHTML').strip()
arr = some_value.split(":")[1].split(";")[0]
print(arr)

在这种情况下应该打印 300px