У меня есть следующий фрагмент 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>
При нажатии на ссылку открывается на новой вкладке.Я хотел бы удалить target = "_ blank" или заменить его на target = "_ self", чтобы ссылка открывалась на той же вкладке.
Используя Selenium (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();
Приведенный выше код по-прежнему открывает ссылку на новой вкладке.Пожалуйста, укажите мне исправление, которое мне нужно сделать, чтобы по той же вкладке открылась нажатая ссылка.
Я использовал следующие ссылки:
Следующий код удалит атрибут target из тегов <a>:
<a>
driver.ExecuteScript("document.getElementsByTagName('a').removeAttribute('target')");