当前位置: 首页 > 知识库问答 >
问题:

定位器策略在硒化物中给出了两个结果

俞博涛
2023-03-14

对于所有的复选框和单选按钮,我创建了一个定位器生成器:

LocatorBuilders.add('radio', function(e) {

      var name = e.parentNode.parentNode.getAttribute('name');
      var value = name + '_' + e.parentElement.getAttribute('value');
      var result = 'radio=' + value;
      return result;

});

和定位器策略:

PageBot.prototype.locateElementByRadio = function(locatorString, inDocument, inWindow) {

    var name = locatorString.split('_')[0];
    var value = locatorString.split('_')[1];

    var result = inDocument.querySelector('div[field=' + name +'] label[value=' + value +'] input');

    return result;

}

元素:

<div class="radio" name="radio-example" style="">
    <label class="radio-label" value="male" style="">
         <input class="radio-input" style="" tabindex="1" type="radio">
         <span class="option">Man</span>
     </label>
</div>

这工作完美,在我的硒IDE中是ee类似于radio =new_yes但是当我在收音机上单击时,我看到硒ide中有两个命令。一个命令带有定位器生成器,另一个命令带有属于复选框中标签的长 xpath 的命令。如何仅记录复选框中的输入字段?而不是标签?

共有1个答案

杨建章
2023-03-14

如果您只想获取radiobutton的定位器,可以使用这个定位器

css=input.无线电输入

如果您还有任何问题,请告诉我。

 类似资料:
  • 我试图在UI测试中使用页面对象模式。许多示例假设在类字段中按(定位器)保存。其他人建议保存WebElement(或SelenideElement,如果您使用的是Selenide)。虽然这两种方法都适用于硬编码定位器,但我不知道如何将其用于路径包含变量的定位器。 例如,如何在类字段中保存此定位器?

  • 问题内容: 在W3c webdirver官方文档中,明确指出了定位策略是: 但是,Selenium的有线协议允许: 在THEORY中,Selenium的文档已过时,新规范文档中包含“真实”故事。然而… 我在最新的Chrome浏览器自己的Webdriver上进行了一些测试,可以确认这一点,name并且class name两者都可以工作。但是,它们不在规格范围内。 我记得在阅读Chromium问题时曾

  • 与Selenium IDE一样,WebDriver使用相同的定位策略集来指定特定Web元素的位置。 因为,正在使用带有Java的WebDriver; 每个定位策略在Java中都有自己的命令来定位Web元素。 注意 :在和方法的帮助下,在Webdriver中定位Web元素。 WebDriver中使用的定位策略列表: 按ID定位策略 按名称查找策略 按类名定位策略 按标签名称定位策略 通过链接文本定位

  • 对于大多数Selenium命令,都需要一个目标位置,该位置在Web应用程序的上下文中唯一地定义Web元素。 目标由定位策略组成,其格式如下: 在Selenium IDE中,目标使用六种指定特定Web元素位置的模式: 按标识符定位 按ID元素定位 按名称查找 通过XPath定位 通过CSS定位 按DOM定位 在详细介绍每种模式之前,读者应该精通HTML和CSS。

  • 我在Cplex中使用Python API来解决一个线性编程问题。使用Cplex时,我的结果如下: 但随后我将LP prolem保存为LP文件,并再次使用Cplex进行求解,结果与第一个略有不同: 下面是我的功能:

  • 在官方的W3c webdirver文档中,明确说明了定位策略是: 然而,Selenium的有线协议允许: 现在:我知道一般的答案,其中“规格并不总是100%遵守”等等。但是,我想知道的是: 你能在Chromium中找到实现这一点的代码吗?(非常欢迎链接) 在Chromium邮件列表中是否讨论过这些内容? “非官方”命令(记录在“旧”selenium规范文件中)是否可能保留?你从哪里读到的?