簡體   English   中英

OpenQA.Selenium.NoSuchElementException:'無法找到元素'

[英]OpenQA.Selenium.NoSuchElementException: 'Unable to locate element'

我正在嘗試使用頁面xpath查找並單擊一個元素。 當我單擊特定的元素並使用Firebug對其進行檢查時,即使Firebug能夠找到相對路徑和絕對路徑,路徑也永遠不會起作用,而且似乎也找不到。

IWebDriver driver = new FirefoxDriver();
   driver.FindElement(By.XPath(
            "html/body/div[5]/div/div[103]/div[2]/div/div[1]/div[5]/div/div[3]/div[2]/div/img[2]")).Click();

這是螢火蟲識別的相對路徑

  .//*[@id='16']/div[2]/div/div[1]/div[5]/div/div[3]/div[2]/div/img[2]


  <img class="Qv_CellIcon_right Qv_ULC" alt="" style="cursor: pointer; max-width: 202px; max-height: 16px;" src="/QvAjaxZfc/QvsViewClient.aspx?datamode=binary&name=ULC&host=QVS%40fuzionpulse-tst&slot=&public=only&xrfkey=nX73wyD2jq281aHj"/>

極其冗長的XPath冒着無法定位的風險,因為HTML的結構必須非常精確才能“匹配”。

查看您提供的示例XPath / HTML,我看到一個位於父元素中的id<img>中的類屬性,我將使用它們來構造一個更簡化的XPath:

//*[@id='16']//img[@class='Qv_CellIcon_right Qv_ULC']

說明:

  • //*[@id='16'] -選擇第一個匹配節點,其中id等於'16'
  • //img[@class='Qv_CellIcon_right Qv_ULC'] -選擇第一個匹配的<img> ,其中class屬性等於'Qv_CellIcon_right Qv_ULC'

暫無
暫無

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

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