以下是合流页面的HTML代码:
tbody
tr
td
some text here
tr
td some text here
tr
td
<span>some text here</span>
如果我单击一个元素,然后执行send_keys(“ XYZ”),那么所有这些都将进入现有文本的中间。例如,它可能导致以下任何情况:
soXYZme text here
some tXYZext here
soXYZme text hXYZere
我也尝试过双击该元素,但这也无法正常工作。那只会删除现有文本的一部分。
我知道在任何地方都没有“ input”标签的情况下,如何清除td元素中的现有值。因此,我不能使用WebDriver的clear()方法。
编辑:请注意,有时单元格也将具有空白值。
答案 0 :(得分:0)
我当时正在使用ActionChains编辑汇合单元。而ActionChains由于某种原因未提供clear()方法。
但是,我能够通过直接调用webdriver实例的clear函数来解决此问题。所以我的代码看起来像这样的融合:
actions = ActionChains(driver)
#ACTIONCHAINS DOES NOT HAVE A CLEAR FUNCTION
driver.find_element_by_xpath("(//td[contains(@class, 'confluenceTd')])[{0}]".format(i) ).clear()
actions.move_to_element(driver.find_element_by_xpath("(//td[contains(@class, 'confluenceTd')])[{0}]".format(i)))
actions.double_click()
actions.send_keys("SOME DATA")
actions.perform()