Как извлечь текст из веб-элемента с помощью Selenium и C #? - PullRequest
0 голосов
/ 12 сентября 2018

Я хочу получить заголовок (9 804 541) из этого фрагмента HTML-кода.

<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");

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

В соответствии с HTML, которым вы поделились, чтобы извлечь заголовок 9,804,541 , вы можете использовать любое из следующих решений:

  • CssSelector

    string left_value = driver.FindElement(By.CssSelector("p.ring_SecondaryValue > div.ring_secondaryMeasureSum")).GetAttribute("title");
    
  • XPath:

    string left_value = driver.FindElement(By.XPath("//p[@class='ring_SecondaryValue']/div[@class='ring_secondaryMeasureSum']")).GetAttribute("title");
    
0 голосов
/ 12 сентября 2018

Вы можете использовать как это

В Java это так

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

Я пробовал также в c Sharp, вы можете проверить синтаксическую ошибку, так как я не очень хорош в c Sharp

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

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