如何通过Selenium IDE模拟鼠标点击网站上的空白区域

How to simulate mouse click on blank area in website by Selenium IDE?

本文关键字:网站 空白 区域 Selenium 何通过 IDE 模拟 鼠标      更新时间:2023-09-26

我想在表单外的空白区域上单击鼠标,以便通过Selenium IDE唤醒某些网站中的数据流量。有什么想法吗?

我尝试按 x,y 单击,但它对我的测试用例无效。场景如下:

  1. 填写电子邮件字段
  2. 单击表单外部以使客户端向服务器发送数据请求,以检查数据库中是否已存在此电子邮件,然后它会自动完成并启用"继续"按钮。

您可以使用以下命令:

driver.findElement(By.xpath("//html")).click();

但有时它不需要空格,

在这种情况下,请使用:

driver.get("//html");

最好的解决方案是通过执行以下语句来仅使用键盘TAB键。

element.sendKeys(Keys.TAB);

它将聚焦下一个元素 - 因此不在现场 - 您将获得所需的结果。

'html' 是一个特殊的元素,你想要的是 'body'(第一个 DOM 元素是 'visible')

因此,请使用以下内容(经Chrome测试确认工作没有问题):

蟒蛇示例 driver.find_element_by_xpath("//body").click()

您可以使用操作单击到元素外部

 public void clickOutside() {
            Actions action = new Actions(driver);
            action.moveByOffset(0, 0).click().build().perform();
        }

只需单击页面上您确定存在的另一个元素。

Browser.Driver.FindElement(By.Id("testtest123")).Click();

另一种解决方案可能是调用 javascript 从该电子邮件字段中删除焦点,这取决于您为 ajax 触发设置的触发器。

填写电子邮件后,要单击空白区域,请使用此命令。

driver.findElement(By.xpath("//html")).click();

它将单击空白区域。

public void clickOutside() {
            Actions action = new Actions(driver);
            action.moveByOffset(0, 0).click().build().perform();
        }

这是这个问题的完美解决方案。

我希望它仍然可以帮助人们,所以我有答案=)如果下拉列表、字段或任何使其他按钮处于非活动状态的内容,Selenium 总是在简单的单击时抛出异常。对我来说,出路是使用暂停动作。下面是我示例中的一些代码行:

Actions actions = new Actions(driver);
actions.moveToElement(driver.findElement(By.xpath("your path")))
       .click().pause('your amount of milliseconds').click().build().perform();

把它包装成一些功能,你就可以有了一个新的答题器。

我需要在反应代码中单击空白区域。

下面的代码解决了我的问题。

 driver.FindElement(By.XPath("//body")).Click();

他们都不适合我。我解决了以下问题;

   WebElement el = driver.findElement(By.xpath("//html"));
   el.sendKeys(Keys.TAB);

下面的代码对我来说很好用。

Actions action = new Actions(driver);
action.moveByOffset(0, 0).click().build().perform();