簡體   English   中英

如何使用 C# Selenium 單擊沒有 ID 的 __doPostBack 啟用更新按鈕?

[英]How to click on __doPostBack enabled Update button with no ID using C# Selenium?

如何使用 C# Selenium 單擊沒有 ID 的更新按鈕?

<input type="button" value="Update" onclick="javascript:__doPostBack('ctl00$ContentPlaceHolder8$GridView1','Update$0')">

我使用了下面的代碼,但它不起作用:

driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder8_GridView1']/tbody/tr[2]/td[6]/input")).Click();

在此處輸入圖像描述

所需的元素是 n __doPostBack啟用的元素。 因此,要在元素上Click() ,您必須為ElementToBeClickable()誘導WebDriverWait ,您可以使用以下任一定位器策略

  • CssSelector

     new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("input[value='Update'][onclick*='ContentPlaceHolder']"))).Click();
  • XPath

     new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//input[@value='Update' and contains(@onclick, 'ContentPlaceHolder')]"))).Click();

參考

您可以在以下位置找到一些相關的詳細討論:

暫無
暫無

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

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