Selenium - 在课后查找下一个元素

时间:2017-02-06 12:25:42

标签: c# selenium automated-tests

我是Selenium的新手,用于从网站获取产品信息。一切都是合法的:)

我试图在找到class ='description'的P之后获取P中的文本。我怎样才能得到P的价值?架构如下所示......

<p class="description"></p>
<p>...........</p> <!-- I need this tag's text -->

或者,我想添加HTML树来找到我想要的P.

enter image description here

我有以下代码来获取带有class =“description”的P,但是如何获得下一个

IList<IWebElement> aciklama = driver.FindElements(By.CssSelector(".content .urun_detay .padding20 .white > .row > .col-md-6 > .aciklama"));

3 个答案:

答案 0 :(得分:2)

尝试使用以下内容:

IList<IWebElement> aciklama = driver.FindElements(By.Xpath("//p[@class='aciklama']/following-sibling::p"));

答案 1 :(得分:1)

您可以使用~通过CssSelector

获取兄弟姐妹
IList<IWebElement> aciklama = driver.FindElements(By.CssSelector(".content.urun_detay.padding20.white > .row > .col-md-6 > .aciklama ~ p"));

您可以使用<p>标记或类,ID等属性。

顺便说一句,在.content .urun_detay .padding20 .white中你正在寻找一个类white的元素,巫婆是一个具有类padding20的元素的继承者,巫婆是一个具有类{{1}的元素的继承者}} 等等。在没有空格的urun_detay中,您正在寻找包含所有这些类的元素。

答案 2 :(得分:1)

+ operator fot next sibling

IList<IWebElement> aciklama = driver.FindElements(By.CssSelector(".aciklama + p"));

更多信息here