一尘不染

python selenium单击按钮

selenium

我是python selenium的新手,我尝试单击具有以下html结构的按钮:

<div class="b_div">

    <div class="button c_button s_button" onclick="submitForm('mTF')">
        <input class="very_small" type="button"></input>
        <div class="s_image"></div>
        <span>
           Search
        </span>
    </div>

    <div class="button c_button s_button" onclick="submitForm('rMTF')" style="margin-bottom: 30px;">
        <input class="v_small" type="button"></input>
        <span>
              Reset
        </span>
   </div>

</div>

我希望能够同时单击上方的SearchReset按钮(显然是单独单击)。

我尝试了几件事,例如:

driver.find_element_by_css_selector('.button .c_button .s_button').click()

要么,

driver.find_element_by_name('s_image').click()

要么,

driver.find_element_by_class_name('s_image').click()

但是,我似乎总是以结尾NoSuchElementException,例如:

selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"name","selector":"s_image"}' ;

我想知道是否可以以某种方式使用HTML的onclick属性来进行selenium单击?

任何能将我指向正确方向的想法都很棒。谢谢。


阅读 344

收藏
2020-06-26

共1个答案

一尘不染

对于python,请使用

from selenium.webdriver import ActionChains

ActionChains(browser).click(element).perform()
2020-06-26