que*_*ons 48 java focus setfocus selenium-webdriver
什么相当于selenium.focus()
WebDriver?
element.sendKeys("");
Run Code Online (Sandbox Code Playgroud)
要么
new Actions(driver).moveToElement(element).perform();
Run Code Online (Sandbox Code Playgroud)
我已经尝试了他们两个并且他们工作了,但哪一个总是适用于所有元素?
对于任何元素(例如按钮,链接等),哪一个是正确的方法?这对我很重要,因为该功能将用于不同的UI.
Har*_*ddy 56
以下代码 -
element.sendKeys("");
尝试找到一个输入标签框来输入一些信息,而
new Actions(driver).moveToElement(element).perform();
更合适,因为它适用于图像元素,链接元素,下拉框等.
因此,使用moveToElement()方法更有意义地关注网页上的任何通用WebElement.
对于输入框,您必须单击要聚焦的元素上的().
new Actions(driver).moveToElement(element).click().perform();
而对于链接和图像,鼠标将在特定元素上方,您可以决定单击它(),具体取决于您要执行的操作.
如果输入标记上的click()不起作用 -
由于您希望此函数是通用的,因此首先要检查webElement是否为输入标记 -
if("input".equals(element.getTagName()){
element.sendKeys("");
}
else{
new Actions(driver).moveToElement(element).perform();
}
Run Code Online (Sandbox Code Playgroud)
您可以根据自己的喜好进行类似的更改.
Rip*_*sim 13
您可以使用JS,如下所示:
WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("document.getElementById('elementid').focus();");
Run Code Online (Sandbox Code Playgroud)
这段代码实际上没有提供焦点:
new Actions(driver).moveToElement(element).perform();
Run Code Online (Sandbox Code Playgroud)
它提供了悬停效果。
此外,JS 代码 .focus() 要求窗口处于活动状态才能工作。
js.executeScript("element.focus();");
Run Code Online (Sandbox Code Playgroud)
我发现这段代码有效:
element.sendKeys(Keys.SHIFT);
Run Code Online (Sandbox Code Playgroud)
对于我自己的代码,我同时使用:
element.sendKeys(Keys.SHIFT);
js.executeScript("element.focus();");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
174244 次 |
最近记录: |