无法访问MS CRM 365上的元素

时间:2019-01-29 11:00:36

标签: java selenium internet-explorer automation dynamics-crm

最近我受命使用Selenium Automation来实现MS CRM 365的自动化。我选择使用IntelliJ来使用Gradle和Java。

当前,我的问题是当我在表单页面上时,我无法访问该页面上的任何元素以进行数据输入或下拉选择。

我尝试使用iFrame切换:

driver.switchTo().frame(driver.findElement(By.cssSelector("#contentIFrame0")));

我尝试从ID,XPATH和CSS中进行选择。

代码是一个简单的driver.findElement;没有什么特别的。我似乎在最基本的部分上失败了。

driver.findElement(By.id("firstname_i")).click();

预期结果:要能够访问元素并处理Click,然后选择下拉菜单或文本输入即可。

实际结果:

org.openqa.selenium.NoSuchElementException: Unable to find element with css selector == #firstname_i

Image to Firefox Inspection of the Element

我想知道CSS中是否有某些东西阻止我访问该元素。我注意到“文本”框的元素位于几层之下,除非访问顶层,否则不会显示。但是,我无法找到该元素来遵循流程。希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

因此,经过一番玩味之后,我注意到我的iframe开关正在工作,但是我尝试访问的元素是正确的,只是不完整,不确定是否与其他任何人相关,但是我必须添加一个方法通过选择初始元素“名称”,然后选择第二个元素作为输入“ name_i”来解决我的元素问题。

好像我最初尝试选择“ name_i”一样,我得到了整个“找不到元素”,因为CSS将其设置为不可见,除非被鼠标悬停/单击第一个元素(覆盖?)激活。

在整个表单页面上似乎都是这种情况。

以前从未使用过MS 365,所以我不知道这是否可行甚至常见。

谢谢。