【问题标题】:Click Button With No ID Selenium Java单击没有 ID Selenium Java 的按钮
【发布时间】:2016-04-05 16:18:00
【问题描述】:

为此道歉;

  • 事件触发器
  • 照片
  • 推送通知
  • 如何单击事件触发器,例如使用 Selenium Java?

    我试过这段代码:

    By.xpath("//button[contains(text(),'Event triggers')]"); by.xpath("//button[contains(text(),'Submit')]");

    我也试过了:

    WebElement Box= driver.findElement(By.tagName("事件触发器")); Box.submit();

    这些都不起作用...

    谢谢

    【问题讨论】:

    • 添加你的代码和html
    • 对此表示歉意; 如何点击事件触发器,例如使用 Selenium Java?我试过这段代码:
    • 未来参考。您的问题下方有一个“编辑”链接。请使用它而不是 cmets 添加其他代码。这样格式也会更好。

    标签: selenium


    【解决方案1】:

    尝试使用这个:

    By.xpath("//a[contains(text(),'Event triggers')]");  
    

    而不是

    By.xpath("//button[contains(text(),'Event triggers')]"); 
    

    【讨论】:

    • 也许您的页面上有 iframe?所以你应该切换到它
    【解决方案2】:

    基于评论中提到的页面源,我认为事件触发器不是按钮,而是本质上使其成为链接的标签。 如您所知,您尝试点击的链接文本始终可以使用:

    driver.findElement(By.linkText("Event Triggers"));
    

    获取事件触发器网页元素。

    由于性能缓慢,应避免使用 xpath。

    【讨论】:

      【解决方案3】:

      好吧,如果按钮没有任何id,你可以尝试使用“类名”和“类型”来编写动态xpath(有很多例子,你可以轻松学习如何创建你的xpath),或者最简单的方法,使用 firebug 定位您想要单击的元素并通过 firebug 复制确切的 Xpath。然后点击。

      【讨论】:

        【解决方案4】:

        正确答案是:

        By.xpath("//button[contains(text(),'Event triggers')]").click(); 
        

        你错过了那个点击动作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-02-24
          • 2022-01-28
          • 2015-11-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多