我使用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()动作(在某处作为某人的解决方案找到),但它没有帮助.. 谢谢!
答案 0 :(得分:0)
所以当我在save_button.click()之后添加另一个不同的动作时它开始起作用了 所以代码就像:
element_xpath.click()
save_button.click()
navigate_to_another_tab.click()
之后选中复选框并保存True