【问题标题】:How to click a button in a selected region with selenium?如何使用硒单击选定区域中的按钮?
【发布时间】:2018-02-23 07:07:41
【问题描述】:

我想使用 selenium Web 驱动程序单击选定区域(或 html)中的按钮。 我在一个字符串变量中选择了区域,并从这个字符串中选择了一个 html 字符串,我想点击一个按钮。

现在的问题是,如果我要做这样的事情:-

driver.findElement(By.Xpath(".....")).click();

它将搜索整个页面并单击第一个匹配的元素,但我不想要这个。

我想单击包含在我的字符串变量中的元素。如何使用 selenium 实现这一目标?

【问题讨论】:

  • 这个选定区域是如何定义的?它是由容器 div 概述的吗?然后到达那个 div,然后使用 WebElement 类的 findElement 方法。这将确保在父元素中找到该元素。如果您在后面的查询中使用 xpath,则附加一个“.”
  • 您只能通过唯一标识一个元素来获取它。如果现在在您的情况下不可能。 - 你需要得到一个这样的字符串。
  • 你能发布html吗?

标签: c# selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

要在父节点中捕获的选定区域中单击按钮子节点),您可以在需要的地方使用以下算法在 XPath 的开头指定一个代表 Current Node (context)dot,如下所示:

var parent_node = driver.FindElement(By.XPath("//xpath_parent_node"));
parent_node.FindElement(By.XPath(".//xpath_child_node")).Click(); // <- Note the . in the begining of the xpath

【讨论】:

    猜你喜欢
    • 2021-08-12
    • 2018-11-02
    • 2021-09-19
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多