WebDriver:Java - 如何在网页上获取所有不可用的按钮并单击任何一个按钮

时间:2016-08-30 06:07:33

标签: java selenium selenium-webdriver

我正在开发一个具有div结构的Web应用程序,如下所示

<div class="hover-buttons">
  <a id="j_idt59:0:j_idt62" href="javascript:void(0);" class="  btn btn-padding-side" ng-click="click($event,{s:&quot;j_idt59:0:j_idt62&quot;,p:&quot;j_idt56&quot;});">
    <i class="icon left "></i>
    Transfer
  </a>
  <a id="j_idt59:0:j_idt64" href="javascript:void(0);" class="  btn btn-padding-side gray-dark" ng-click="click($event,{s:&quot;j_idt59:0:j_idt64&quot;,p:&quot;j_idt56&quot;,u:&quot;breadcrumb mainPage accAddServicesPanel&quot;});">
    <i class="icon left "></i>
    Account Details
    <div scrolltopfunction=""></div>
  </a>
</div>

我需要使用标记<a id>获取页面上的所有按钮,然后单击任何一个动态ID更改的按钮。

页面上显示的按钮数量每次登录时都会有所不同,默认情况下这些按钮是不可见的。请告知如何获取所有按钮并单击任何一个按钮。

2 个答案:

答案 0 :(得分:1)

如果您想从var $select = $("#my_input").selectize(); var selectize = $select[0].selectize; selectize.setValue(selectize.search("My Default Value").items[0].id); 列表中随机点击,请尝试使用java.util.Random,如下所示: -

WebElement

已修改: - 如果想要点击某些条件而不是随机点击,请尝试按以下步骤操作: -

import java.util.Random;

Random random = new Random();

List<WebElement> list = driver.findElements(By.id("j_idt59"));
list.get(random.nextInt(list.size())).click();

答案 1 :(得分:0)

  1. 获取所有链接
  2. 迭代链接&amp;比较您需要的链接文字
  3. 以下是我认为可以为您提供帮助的代码段:

    this is table description
    e Table
    
    CREATE TABLE `m_user_master` (
      `M_USER_ID` int(11) NOT NULL AUTO_INCREMENT,
      `User_Type_ID` int(11) DEFAULT NULL,
      `M_User_Name` varchar(50) DEFAULT NULL,
      `M_User_Name_Hindi` varchar(50) DEFAULT NULL,
      `User_Login_ID` varchar(30) DEFAULT NULL,
      `User_Password` varchar(30) DEFAULT NULL,
      `User_Mobile_No` int(12) DEFAULT NULL,
      `User_Email_ID` varchar(50) DEFAULT NULL,
      `Created_Date` datetime DEFAULT NULL,
      `Updated_By` varchar(50) DEFAULT NULL,
      `Updated_Date` datetime DEFAULT NULL,
      `Is_Active` char(1) DEFAULT NULL,
      `Active_From` datetime DEFAULT NULL,
      `Active_To` datetime DEFAULT NULL,
      `Created_By` varchar(50) DEFAULT NULL,
      PRIMARY KEY (`M_USER_ID`),
      KEY `FK_M_User_Master_M_User_Type_Master` (`User_Type_ID`),
      CONSTRAINT `FK_M_User_Master_M_User_Type_Master` FOREIGN KEY (`User_Type_ID`) REFERENCES `m_user_type_master` (`User_Type_ID`) ON DELETE CASCADE ON UPDATE CASCADE
    ) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8