我需要确定::after伪元素是否存在。存在时:
<div class="vcp-bigplay" xpath="1"></div>
::after
</div>
当它不存在时:
<div class="vcp-bigplay" xpath="1"></div>
我试过
driver.find_element_by_css_selector('div.vcp-bigplay>div')
和
driver.find_element_by_css_selector('div.vcp-bigplay::after')
和
driver.find_element_by_css_selector('div.vcp-bigplay:after')
它们都不起作用。有人能帮忙吗?
您可以使用JavaScript执行器来检索内容值,然后检查该值是否存在。
像这样的
script = "return window.getComputedStyle(document.querySelector('.vcp-bigplay'),'::after').getPropertyValue('content')";
element = driver.execute_script(script);
if (len(element)==0):
print('not there')
else:
print('there')
你可以在这里详细阅读。