繁体   English   中英

检查特定 div 中元素的可见性,Selenium Python

[英]Checking visibility of an element in a specific div, Selenium Python

我有3个div s的同一类内的其他div ■当有时类pak是可见的,有时不是。

我想检查 class 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搜索 class pak的解决方案?

你可以这样做:

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])))

你可以试试这个代码,特别是这个css 选择器

visibilty =  browser.find_element_by_css_selector("div.ra22>div:first-child").is_displayed()
print(visibilty)   

然后你就可以具备的条件按照公开程度变量的状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM