单击带有Java Selenium的第二个单选按钮

托法

我想用Java / Selenium敲第二个单选按钮。id是动态的,我不知道为什么xpath不起作用。如果你们能告诉我这是如何工作的,那将真的很有帮助。

的HTML

   <div class="form-radiobutton-group group-horizontal" id="id29">
            <div class="form-radiobutton-element">
                <span class="form-radiobutton-wrapper">
                    <input class="salutation_f feedback-panel-trigger wicket-id29" id="id4" name="personaldataPanel:salutation:choices" value="radio9" type="radio">
                    <label for="id4" class=""></label>
                </span>
                <label for="id4">
                    Frau
                </label>
            </div>
            <div class="form-radiobutton-element">
                <span class="form-radiobutton-wrapper">
                    <input class="salutation_m feedback-panel-trigger wicket-id29" id="id3" name="personaldataPanel:salutation:choices" value="radio11" type="radio">
                    <label for="id3" class=""></label>
                </span>
                <label for="id3">
                    Herr
                </label>
            </div>
        </div>

立即编码

WebElement m = driver.findElement(By.xpath("//div[2]/span/input"));
m.click();
索拉布·高尔

您可以radio button使用By.xpath以下标签文字来查找它们:-

  • 要单击带有标签文本的单选按钮Frau

    driver.findElement(By.xpath("//input[../following-sibling::label[contains(.,'Frau')]]")).click();
    
  • 要单击带有标签文本的单选按钮Herr

    driver.findElement(By.xpath("//input[../following-sibling::label[contains(.,'Herr')]]")).click();
    

编辑:-如果您收到点击将被其他元素接收到的异常,则需要实施WebDriverWait以等待元素可见,DOM如下所示:-

WebDriverWait wait = new WebDriverWait(driver, 10);
el = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[../following-sibling::label[contains(.,'Herr')]]")));
el.click();

如果您仍然遇到相同的问题,请尝试按JavascriptExecutor如下所示使用:-

((JavascriptExecutor)driver).executeScript("arguments[0].click()", el);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 Selenium 和 python 在浏览器的第二个窗口上单击 A 按钮

如何使用python在selenium中单击带有smae类名的第二个文本框

如何在Cypress中单击从第二个元素开始的所有按钮?

单击第一个文本字段的单选按钮时,第二个文本字段应处于非活动状态

jQuery:单击第一个按钮后启用第二个按钮

单击时无法禁用第二个按钮或任何其他按钮

如何通过单击第一个按钮刷新第二个窗口

为什么Java的没有出现在第二个场景按钮

在MainActivity中重新单击按钮以启动第二个活动后,如何在第二个活动中保留价值?

单击按钮将第二个UIViewController加载到容器中

第一次单击时,jQuery触发第二个按钮

从按钮单击视图模型中调用第二个视图

Javafx:在按钮上单击打开第二个选择窗口

如何在Android应用程序中单击按钮以打开第二个活动

在按钮单击上隐藏并显示第二个表单

单击第二个按钮上的“参数太多”,C#

单击第二个按钮时 JavaFX 场景冻结

我如何在单击按钮时打开第二个QML页面

在java上将第二个倒数第二个

我想创建第二个按钮,但它没有出现-Xcode 6 Swift

如何让我的第二个按钮具有 onclick 功能

Selenium Java,如何获得包裹双引号的第二个文本?

上载带有input [type =“ file”]的文件,而没有第二个按钮来发送

通过单击第一个按钮IOS7更改第二个按钮图像

如何在选择第二个选择菜单选项之前显示所有项目?

Webdriver单击列表中的第二个元素

剑道对话无法单击第二个时间

Bootstrap模态-首先单击以关闭第二个

用CasperJS单击第二个元素