如何使用硒测试 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
。
我正在尝试使用 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
。