当有时可见“ pak”类,有时不可见时,我有3个div具有相同的类,而在其他div内。 我想检查类'pak'在第一个div上是否可见,当有其他元素包含完全相同的类时,我是否有办法检查特定元素上是否存在类?
<div class='ra22'>
<div class='poko'></div>
</div>
<div class='ra22'>
<div class='poko pak'></div>
</div>
<div class='ra22'>
<div class='poko pak'></div>
</div>
这就是我试图做的事情。
try:
WebDriverWait(browser, 3).until(expected_conditions.visibility_of_element_located((By.CSS_SELECTOR, '.ra22 .pak)))
except:
print 'class ".pak" not visible'
当然还有WebDriver在第二个div上找到该类,关于如何仅在第一个div中搜索类“ pak”的任何解决方案?谢谢
答案 0 :(得分:0)
您可以这样做:
elements = driver.find_elements_by_css_selector(".ra22 .pak")
# then you can check visibility of every element fron the list
如果要检查元素的当前状态,请执行以下操作:
if elements[0].is_displayed(): # checks first element
print "Element visible"
else:
print "Element not visible"
如果要等到它可见后,请执行以下操作:
# waits 3 seconds until first element will be visible
WebDriverWait(browser, 3).until(expected_conditions.visibility_of_element_located((elements[0])))
答案 1 :(得分:0)
您可以尝试使用此代码,尤其是此 css选择器:
visibilty = browser.find_element_by_css_selector("div.ra22>div:first-child").is_displayed()
print(visibilty)
然后,根据可见性变量的状态,您可以具有条件。