簡體   English   中英

如何通過Selenium和C#從元素獲取文本

[英]How to Get the text from an element through Selenium and C#

如何從此代碼中獲取2.22號碼?

<div class="crash-row crash-0d54ae895d62d03cfb4bdcb502109630">
    <div class="col bold h-col-1 c-green">2.22</div>
    <div class="col h-col-2">-</div>
    <div class="col h-col-3">-</div>
    <div class="col h-col-4">-</div>
    <div class="col h-col-5">
        <a href="javascript:;" class="show-code">0d54ae895d62d03cfb4bdcb502109630</a>
    </div>
    <div class="col h-col-6">
        <a href="javascript:;" class="show-code">8d76a8fa2b7613de95a7e13852055c77d013f441952a231c47ca0872bcdd64df</a>
    </div>
        <div class="clear">
    </div>
</div>

我已經嘗試過此代碼,但是沒有用! 注意:我給出的XPATH是<div class="col bold h-col-1 c-green">2.22</div>標記!

Console.Write(driver.FindElement(By.XPath("/html/body/div[2]/div[5]/div[2]/div[5]/div[3]/div[2]/div[2]/div[2]")).Text);

您可以先嘗試使用相對xpath將元素查找為//div[contains(@class, 'h-col-1')]

然后嘗試使用獲取值

  1. 文字
  2. 獲取屬性

要提取文本2.22 ,因為該元素是動態元素,則可以將WebDriverwaitelement一起使用,並且可以使用以下解決方案之一:

  • CssSelector

     new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementIsVisible(By.CssSelector("div.crash-row > div.c-green"))).GetAttribute("innerHTML"); 
  • XPath

     new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementIsVisible(By.XPath("//div[contains(@class, 'crash-row')]/div[contains(@class, 'c-green')]"))).GetAttribute("innerHTML"); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM