如何清除网页元素的字段 - Groovy
How to clear the field of web element - Groovy
根据本 documentation 的第 4.10 章:
要清除 webElement 的字段,我可以这样做:
webElement << Keys.chord(Keys.CONTROL, "a", Keys.BACK_SPACE)
但对我来说它看起来不干净。
有没有一种方法可以编写一个名为 "clear" 的方法,该方法可以在 webElement 上调用,并且该方法的调用看起来像这样?
webElement.clear()
这个方法会是什么样子?
我设法做到了这样的事情:
def clear() {
return Keys.chord(Keys.CONTROL, "a", Keys.BACK_SPACE)
}
webElement << clear()
我是否有其他可能性或方法来解决这个问题,以便能够调用元素上的方法来清除它?
我无法使用 selenium 方法 clear(),因为支持我测试的应用程序的 spark 框架禁止使用此方法。
请确保传递您正在使用的驱动程序,这样您就不必使用按键。您可以使用 .Clear() 清除文本框中的任何文本。
def Clear(driver):
elem = driver.find_element_by_name("elementName")
elem.clear()
或
def Clear(driver):
driver.execute_script('document.getElementsByName('schedule')[0].value = ''')
您可以尝试的一个选项是扩展或覆盖 WebElement class,然后添加您自己的 clear()
可以在 webDriver 元素上调用的方法。
所以你可以说 webElement.clear()
而不是 webElement << clear()
清除 Geb 中元素的最简单方法是简单地将其值设置为空字符串:
$(“input”).value(“”)
这将调用 WebElement 的 clear()
方法,因此如果这不是一个选项并且您实际上想要执行问题中的按键组合,那么您有两个选择。我的首选是使用 clear()
方法编写模块:
class ManuallyCleared extends Module {
void clear() {
leftShift Keys.chord(Keys.CONTROL, “a”, Keys.SPACE)
}
}
并且像这样使用它:
$(“input”).module(ManuallyCleared).clear()
另一种选择是实现 custom navigator 并在其中添加 clear()
方法。
根据本 documentation 的第 4.10 章:
要清除 webElement 的字段,我可以这样做:
webElement << Keys.chord(Keys.CONTROL, "a", Keys.BACK_SPACE)
但对我来说它看起来不干净。 有没有一种方法可以编写一个名为 "clear" 的方法,该方法可以在 webElement 上调用,并且该方法的调用看起来像这样?
webElement.clear()
这个方法会是什么样子?
我设法做到了这样的事情:
def clear() {
return Keys.chord(Keys.CONTROL, "a", Keys.BACK_SPACE)
}
webElement << clear()
我是否有其他可能性或方法来解决这个问题,以便能够调用元素上的方法来清除它?
我无法使用 selenium 方法 clear(),因为支持我测试的应用程序的 spark 框架禁止使用此方法。
请确保传递您正在使用的驱动程序,这样您就不必使用按键。您可以使用 .Clear() 清除文本框中的任何文本。
def Clear(driver):
elem = driver.find_element_by_name("elementName")
elem.clear()
或
def Clear(driver):
driver.execute_script('document.getElementsByName('schedule')[0].value = ''')
您可以尝试的一个选项是扩展或覆盖 WebElement class,然后添加您自己的 clear()
可以在 webDriver 元素上调用的方法。
所以你可以说 webElement.clear()
而不是 webElement << clear()
清除 Geb 中元素的最简单方法是简单地将其值设置为空字符串:
$(“input”).value(“”)
这将调用 WebElement 的 clear()
方法,因此如果这不是一个选项并且您实际上想要执行问题中的按键组合,那么您有两个选择。我的首选是使用 clear()
方法编写模块:
class ManuallyCleared extends Module {
void clear() {
leftShift Keys.chord(Keys.CONTROL, “a”, Keys.SPACE)
}
}
并且像这样使用它:
$(“input”).module(ManuallyCleared).clear()
另一种选择是实现 custom navigator 并在其中添加 clear()
方法。