需要帮助才能点击一个功能

时间:2013-12-05 04:39:07

标签: java selenium dialog

我想点击一个小工具提示大小的对话框,其中包含内容"删除关联"在里面。我有以下脚本:

strMenu_Body = menu.document.body;
    strMenu_Body.style.backgroundColor = "#EFF6FD";
    var strMenu_Text = "<TABLE Align=Center width=100% height=100% CellPadding=0 CellSpacing=0 Border=1 BorderColor=#A5BACE style=font-family:arial;font-size:12px;color:black;>"
    if (type != "Flag") {
        if (val.indexOf('s10001') > 0) {
            if (document.all(val).iComponentType) {
                if (document.all(val).iComponentType == "Recall")
                    strMenu_Text = strMenu_Text + "<TR HEIGHT=20 ID=traSch1 ><TD align=center>&nbsp;<Font ID=RemoveAssociation onClick=parent.callParent('" + val + "','DELETE_ASSOCIATION') style=cursor:hand onmouseover=javascript:this.style.color='red'; onmouseout=javascript:this.style.color='black';>Delete Recall</Font></TD></TR>"
                else
                    strMenu_Text = strMenu_Text + "<TR HEIGHT=20 ID=traSch1 ><TD align=center>&nbsp;<Font ID=RemoveAssociation onClick=parent.callParent('" + val + "','DELETE_ASSOCIATION') style=cursor:hand onmouseover=javascript:this.style.color='red'; onmouseout=javascript:this.style.color='black';>Cancel Appointment</Font></TD></TR>"
            }
            else
                strMenu_Text = strMenu_Text + "<TR HEIGHT=20 ID=traSch1 ><TD align=center>&nbsp;<Font ID=RemoveAssociation onClick=parent.callParent('" + val + "','DELETE_ASSOCIATION') style=cursor:hand onmouseover=javascript:this.style.color='red'; onmouseout=javascript:this.style.color='black';>Delete Recall</Font></TD></TR>";
        }
        else if (val.indexOf('s20002') > 0) {
            if (document.all("btn~~PatEducations20002").all("Comp_Heading").innerHTML.length > 20)
                strMenu_Text = strMenu_Text + "<TR HEIGHT=20 ID=traSch1 ><TD>&nbsp;<Font ID=RemoveAssociation onClick=parent.removePatientEducation(0); style=cursor:hand onmouseover=javascript:this.style.color='red'; onmouseout=javascript:this.style.color='black';>Remove Flag</Font></TD></TR>"
            else
                strMenu_Text = strMenu_Text + "<TR HEIGHT=20 ID=traSch1 ><TD align=center>&nbsp;<Font ID=RemoveAssociation onClick=parent.removePatientEducation(1); style=cursor:hand onmouseover=javascript:this.style.color='red'; onmouseout=javascript:this.style.color='black';>Remove Association</Font></TD></TR>"
        }
        else
            strMenu_Text = strMenu_Text + "<TR HEIGHT=20 ID=traSch1 ><TD>&nbsp;<Font ID=RemoveAssociation onClick=parent.callParent('" + val + "','DELETE_ASSOCIATION') style=cursor:hand onmouseover=javascript:this.style.color='red'; onmouseout=javascript:this.style.color='black';>Remove Association</Font></TD></TR>"
    }
    else
        strMenu_Text = strMenu_Text + "<TR HEIGHT=20 ID=traSch1 ><TD>&nbsp;<Font ID=RemoveAssociation onClick=parent.callParent('" + val + "','DELETE_FLAG_ASSOCIATION') style=cursor:hand onmouseover=javascript:this.style.color='red'; onmouseout=javascript:this.style.color='black';>Remove Flag</Font></TD></TR>"
        strMenu_Text = strMenu_Text + "</TABLE>"
        strMenu_Body.innerHTML = strMenu_Text
        menu.show(intMenu_X, intMenu_Y, intMenu_Width, intMenu_Height, document.all("cmbFontName"))
}

`

我不知道如何点击该拨号框。善意的帮助。我正在使用java,selenium,IE 10,Win 8。

另请告诉我如何点击属性&#34; onclick&#34;例如onClick=parent.callParent('" + val + "','DELETE_ASSOCIATION')。非常感谢

2 个答案:

答案 0 :(得分:1)

你可以使用一些javascript注入魔法,试试这个:

WebElement element = driver.findElement(By.xpath("//*[contains(text(),'Remove Association')]"));  
((JavascriptExecutor) driver).executeScript("arguments[0].click();", element);

答案 1 :(得分:0)

我有一个元素的id,你也可以使用它来生成一个点击。

但请记住,一旦你将鼠标悬停在其他一些html控件上,你的工具提示就会出现。所以你的工具提示只在这种情况下可见,实际上Selenium不允许你点击隐藏的元素。首先,你必须让它可见,然后点击它。

希望它有所帮助。不确定这是你在找什么。