Python Selenium点击功能不执行任何操作,测试没有失败

时间:2016-09-12 10:46:41

标签: python selenium xpath automation webdriver

我使用Selenium webdriver在Python中编写自动化测试,对于一个元素,函数click()不执行任何操作。但是测试甚至没有失败(例如,没有这样的元素或者没有可点击的,......)

我的代码:

def fill_applications_tab(self):
    wait = WebDriverWait(self.driver, 20)
    wait.until(EC.element_to_be_clickable((By.XPATH,"//span[@name='application' and text()[contains(.,'JBoss')]]/parent::*/parent::tr/td[1]/input[@type='checkbox' and @name='man']")))
    self.driver.find_element_by_xpath("//span[@name='application' and text()[contains(.,'JBoss')]]/parent::*/parent::tr/td[1]/input[@type='checkbox' and @name='man']").click()

HTML

<div class="col-sm-12" id="appl_applications_mw_error_div">
                <table class="table white table-condensed table-bordered tight-col">
                    <thead>
                        <tr class="app-table-descr">
                            <td colspan="7">Middleware</td>
                        </tr>
                        <tr>
                            <th class="t-center">Install</th>
                            <th>Application name</th>
                        </tr>
                    </thead>
                    <tbody class="sort">
                        <tr class="show-info" name="appl_applications_mw" data-type="array" data-tab-id="#tab-app" data-upform-error="#appl_applications_mw_error_div" data-show-info-field="man">
                            <td class="form-group-sm">
                                <span name="version" data-type="arrayitem" disabled="disabled">2.0.x (HP)</span>
                            </td>
                        </tr><tr class="show-info" name="appl_applications_mw" data-type="array" data-tab-id="#tab-app" data-upform-error="#appl_applications_mw_error_div" data-show-info-field="man">
                            <td class="t-center">
                                <input name="type" type="hidden" data-type="arrayitem" value="mw">
                                <input class="show-info-field" name="man" type="checkbox" data-type="arrayitem">
                                <input class="app-man-default hidden" name="man_default" type="checkbox" data-type="arrayitem">
                            </td>
                            <td>
                                <span name="application" data-type="arrayitem">JBoss</span>
                            </td>

知道怎么解决吗? 我已经尝试在代码中添加两次click()动作(在某处作为某人的解决方案找到),但它没有帮助.. 谢谢!

1 个答案:

答案 0 :(得分:0)

所以当我在save_button.click()之后添加另一个不同的动作时它开始起作用了 所以代码就像:

element_xpath.click()
save_button.click()
navigate_to_another_tab.click()

之后选中复选框并保存True