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

Ida*_*n E 9 javascript selenium automation qa web

我想在表单外的空白区域执行鼠标点击,以便通过Selenium IDE唤醒某些网站的数据流量.有任何想法吗?

我试图点击x,y,但它对我的测试用例没有效果.场景如下:

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

小智 8

您可以使用以下命令:

driver.findElement(By.xpath("//html")).click();
Run Code Online (Sandbox Code Playgroud)

但有时它不占用空格,

在这种情况下,使用:

driver.get("//html");
Run Code Online (Sandbox Code Playgroud)

  • 至少在chrome中这是行不通的。线程“主”中的异常org.openqa.selenium.WebDriverException:未知错误:无法在“窗口”上执行“ getComputedStyle”:参数1的类型不是“元素”。 (3认同)
  • 不起作用 `失败原因:未知错误:未处理的检查器错误:{"code":-32603,"message":"无法导航到无效 URL"}` (2认同)
  • 用`// body`替换`// html`应该可以。 (2认同)

Cha*_*esC 6

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

所以请使用以下内容(使用 Chrome 确认工作没有问题):

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


小智 5

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

element.sendKeys(Keys.TAB);
Run Code Online (Sandbox Code Playgroud)

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


小智 2

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

Browser.Driver.FindElement(By.Id("testtest123")).Click();
Run Code Online (Sandbox Code Playgroud)

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