我有一个看起来像这样的网页:
<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 。
答案 0 :(得分:2)
您可以查找没有属性style="display: none;"
driver.find_element_by_css_selector('.itemHolder:not([style="display: none;"])')