WebDriver通过组合xpath定位元素

时间:2012-03-02 15:30:12

标签: xpath selenium webdriver

有什么办法,我怎么能在一个中识别两个xpath值。

我的文本位于网页的某个位置,在另一个页面上,它存在于同一个元素中,但具有不同的xpath。见以下两种变体:

Variant1: .//*[@id='quote_1']/div[2]/div[1]/div[1]/div[1]/p[2] 

Variant2: .//*[@id='quote_1']/div/div[1]/div[1]/div[1]/div[2]/div[3]/span[2] 

我正在寻找如何将这两个xpath组合成如下所示:

xpath = Variant1 or Variant2;

谢谢。

1 个答案:

答案 0 :(得分:5)

XPath联合运算符|可能就是您要求的

  .//*[@id='quote_1']/div[2]/div[1]/div[1]/div[1]/p[2]  
|
  .//*[@id='quote_1']/div/div[1]/div[1]/div[1]/div[2]/div[3]/span[2]

此XPath表达式选择两个节点集的并集:

  • .//*[@id='quote_1']/div[2]/div[1]/div[1]/div[1]/p[2]

  • 选择的所有节点
  • .//*[@id='quote_1']/div/div[1]/div[1]/div[1]/div[2]/div[3]/span[2]

  • 选择的所有节点