单击Selenium中某个类的第一个可见元素

时间:2016-04-14 07:03:55

标签: python selenium xpath

我有一个看起来像这样的网页:

<div class="itemHolder" style="display: none;"></div>
<div class="itemHolder" style="display: none;"></div>
<div class="itemHolder" style="display: none;"></div>
<div class="itemHolder"></div> 
<div class="itemHolder" style="display: none;"></div>
<div class="itemHolder" style="display: none;"></div>
<div class="itemHolder"></div>
<div class="itemHolder" style="display: none;"></div>

我需要双击第一个可见的itemHolder。我试过使用以下但是我收到了错误

myItem = driver.find_element_by_class("itemHolder")

actions = ActionChains(driver)
actions.move_to_element(myItem)
actions.double_click(myItem)
actions.perform()
  

引发exception_class(消息,屏幕,堆栈跟踪)   selenium.common.exceptions.WebDriverException:消息:元素不是   可点击(310.5,208)。其他元素将收到点击

所以我的问题是,如何在selenium中点击 第一个可见的itemHolder

1 个答案:

答案 0 :(得分:2)

您可以查找没有属性style="display: none;"

的元素
driver.find_element_by_css_selector('.itemHolder:not([style="display: none;"])')