Selenium Webdriver没有基于文本、xpath或ID点击菜单项
Selenium Webdriver not clicking menuitem based on text, xpath or ID
我在sharepoint的一个页面中有一些html,看起来像这样…
<span style="display:none">
<menu type='ServerMenu' id="zz28_RptControls" largeIconMode="true">
<ie:menuitem id="zz29_AddColumn" type="option" iconSrc="/_layouts/images/MenuAddColumn.gif" onMenuClick="window.location = '/SiteDirectory/investment/AE/5539/_layouts/fldNew.aspx?List=%7B49B0DF27%2D5F75%2D4721%2DA81C%2DF8FA9F5CB9DF%7D&Source=http%3A%2F%2Fdv%2Dsharepoint%2Ecollercapital%2Ecom%2FSiteDirectory%2Finvestment%2FAE%2F5539%2FEmails%2FForms%2FAllItems%2Easpx';" text="Create Column" description="Add a column to store additional information about each item." menuGroupId="100"></ie:menuitem>
<ie:menuitem id="zz30_AddView" type="option" iconSrc="/_layouts/images/MenuAddView.gif" onMenuClick="window.location = '/SiteDirectory/investment/AE/5539/_layouts/ViewType.aspx?List=%7B49B0DF27%2D5F75%2D4721%2DA81C%2DF8FA9F5CB9DF%7D&Source=http%3A%2F%2Fdv%2Dsharepoint%2Ecollercapital%2Ecom%2FSiteDirectory%2Finvestment%2FAE%2F5539%2FEmails%2FForms%2FAllItems%2Easpx';" text="Create View" description="Create a view to select columns, filters, and other display settings." menuGroupId="100"></ie:menuitem>
<ie:menuitem id="zz31_ListSettings" type="option" iconSrc="/_layouts/images/MenuListSettings.gif" onMenuClick="window.location = '/SiteDirectory/investment/AE/5539/_layouts/listedit.aspx?List=%7B49B0DF27%2D5F75%2D4721%2DA81C%2DF8FA9F5CB9DF%7D';" text="Document Library Settings" description="Manage settings such as permissions, columns, views, and policy." menuGroupId="200">
</ie:menuitem></menu></span><span title="Open Menu">
<div id="zz32_ListSettingsMenu_t" class="ms-menubuttoninactivehover" onmouseover="MMU_PopMenuIfShowing(this);MMU_EcbTableMouseOverOut(this, true)" hoverActive="ms-menubuttonactivehover" hoverInactive="ms-menubuttoninactivehover" onclick=" MMU_Open(byid('zz28_RptControls'), MMU_GetMenuFromClientId('zz32_ListSettingsMenu'),event,false, null, 0);" foa="MMU_GetMenuFromClientId('zz32_ListSettingsMenu')" oncontextmenu="this.click(); return false;" nowrap="nowrap"><a id="zz32_ListSettingsMenu" accesskey="I" href="#" onclick="javascript:return false;" style="cursor:hand;white-space:nowrap;" onfocus="MMU_EcbLinkOnFocusBlur(byid('zz28_RptControls'), this, true);" onkeydown="MMU_EcbLinkOnKeyDown(byid('zz28_RptControls'), MMU_GetMenuFromClientId('zz32_ListSettingsMenu'), event);" onclick=" MMU_Open(byid('zz28_RptControls'), MMU_GetMenuFromClientId('zz32_ListSettingsMenu'),event,false, null, 0);" oncontextmenu="this.click(); return false;" menuTokenValues="MENUCLIENTID=zz32_ListSettingsMenu,TEMPLATECLIENTID=zz28_RptControls" serverclientid="zz32_ListSettingsMenu">Settings<img src="/_layouts/images/blank.gif" border="0" alt="Use SHIFT+ENTER to open the menu (new window)."/></a><img align="absbottom" src="/_layouts/images/menudark.gif" alt="" />
</div></span>
</td>
有一个"设置"按钮(ID为zz32_ListSettingsMenu_t),当点击时,打开一个小下拉框,其中有几个菜单项对象。
我可以单击设置对象打开下拉菜单没有问题,但当我试图单击菜单项显示什么都没有发生。我已经在等待,我已经尝试了//menuitem[contains(text(),'Document Library Settings']
的xpath或zz31_ListSettings
的ID值,甚至Document Library Settings
的LINKTEXT
,但似乎没有任何作用,硒只是没有找到它点击它。
有人有什么想法吗我脑子一片空白
显然,通常的方法是首选的,但是如果遇到困难,有时可以通过手动发送击键来解决这个问题。我通常使用sendKeys,像这样:
element.click(); //click on menu to expand it
element.sendKeys( Keys.DOWN ); // key donw once
element.sendKeys( Keys.ENTER); //to select the item
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 使用Javascript获取所选选项ID
- 根据id将json数组组合为一个json数组
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 通过id和class属性获取元素
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 使用当前日期生成随机id
- Javascript-ID冲突的几率
- Href:当前DIV中的目标ID
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Javascript复选框函数:;缺少:在属性id之后"
- Twitter引导程序Typeahead-Id&标签
- 如何在具有相同id的多个元素的文档中获取元素的XPATH
- 选择一个没有特定id、类、xpath等的元素
- 如何找到一个随机ID的选择器,XPATH &;我正在用Selenium c#测试一个CMS工具
- 如何替换getElementById("id").使用XPath的textContent句子
- Selenium Webdriver没有基于文本、xpath或ID点击菜单项