如何使用Selenium WebDriver使用另一个By元素定义元素xpath

时间:2016-11-01 12:39:31

标签: selenium xpath

我想使用先前定义的By元素来定义By元素xpath。

实施例: 我有一个以下按元素定义:

private By firstExpander = By.xpath("//div[@id = 'language-expander']");

现在我想定义另一个By元素,即该元素的DOM结构中的子元素,例如此语言扩展器的名称'。我试过以下:

private By firstExpanderName = By.xpath(firstExpander.toString() + "/div[1]/a");

但它包括" By.xpath"结果字符串中父项的一部分。而且我确定我做错了。关于如何正确地做到这一点的任何建议?

4 个答案:

答案 0 :(得分:0)

试试这个,

String div = "//div[@id = 'language-expander']";
private By firstExpander = By.xpath(div);
private By firstExpanderName = By.xpath(div + "/div[1]/a");

答案 1 :(得分:0)

将父xpath字符串分配给变量。稍后,您可以将任何字符串附加到该字符串以派生子xpath。

答案 2 :(得分:0)

请这样试试 -

private By firstExpanderName = firstExpander.findElement(By.xpath(".//div[1]/a"))

答案 3 :(得分:0)

select no into  serial_no from t_serial_no where comp_code = comp_code and rule = meat_rule_one;