如何使用Selenium和C#从Web元素中提取文本?

问题描述 投票:0回答:2

我想从这段Html代码中获取标题(9,804,541)。

<p class="ring_SecondaryValue" style="color: rgb(119, 119, 119);
 font-size: 16px; margin: 0px; overflow: hidden; text-align: center;
 text-overflow: ellipsis; vertical-align: middle; white-space:
 nowrap;"><div class="ring_secondaryMeasureSum"
 title="9,804,541">9,805K</div></p>

我试过这段代码:

string left_value =driver.FindElement(By.ClassName("ring_secondaryMeasureSum")).GetAttribute("title");
c# selenium xpath css-selectors webdriver
2个回答
0
投票

你可以像这样使用

在java中就是这样

  WebElement title = driver.findElement(By.xpath("//div[contains(@class,'ring_secondaryMeasureSum')][contains(text(),'')]"));
            System.out.println(title.getAttribute("title"));

我也试过c夏普,你可能会检查语法错误,因为我不擅长c sharp

IWebElement title = driver.FindElement((By.Xpath("//div[contains(@class,'ring_secondaryMeasureSum')][contains(text(),'')]"));

string titleText= title.GetAttribute("title");

0
投票

根据您共享的HTML提取标题9,804,541,您可以使用以下任一解决方案:

  • CssSelectorstring left_value = driver.FindElement(By.CssSelector("p.ring_SecondaryValue > div.ring_secondaryMeasureSum")).GetAttribute("title");
  • XPathstring left_value = driver.FindElement(By.XPath("//p[@class='ring_SecondaryValue']/div[@class='ring_secondaryMeasureSum']")).GetAttribute("title");
© www.soinside.com 2019 - 2024. All rights reserved.