硒C# - 如何删除或从一个锚标记替换目标= _blank

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

我有以下的HTML代码片段:

<p>
  <a href="https://www.google.com" target="_blank" onclick="s_objectID="https://www.google.com/_1";return
    <span class>"ms-rteStyle-external-link-small">
       "Production Efficiency Status"
       ::after
    </span>
   </a>
</p>

当点击该链接它会打开一个新的标签。我想删除目标=“_空白”或使链接在同一选项卡上打开与目标=“_自我”取代它。

使用硒(ChromeDriver),C#和JavaScript,我也做了以下内容:

IJavaScriptExecutor jsX = (IJavaScriptExecutor)Driver.driver;

var elm = Driver.driver.FindElement(By.CssSelector("#WebPartWPQ5 > div.ms-rtestate-field > div > div > p:nth-child(3) > a > span"));

// jsX.ExecuteScript("arguments[0].setAttribute(\"target\", \"_self\")", elm);
jsX.ExecuteScript("arguments[0].removeAttribute(\"target\")", elm);

elm.Click();

上面的代码仍然会打开一个新的选项卡上的链接。请指出我校,我需要做这样可以在点击链接打开相同的标签。

我已经使用了以下参考:

  1. https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute
  2. https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute
  3. Selenium - Universal Way to Convert "WebElement" to Javascript or JQuery Object
javascript c# selenium dom selenium-webdriver
1个回答
0
投票

下面的代码将删除<a>标签“目标”属性:

driver.ExecuteScript("document.getElementsByTagName('a').removeAttribute('target')");
© www.soinside.com 2019 - 2024. All rights reserved.