【发布时间】:2019-03-08 00:34:03
【问题描述】:
我有以下html代码sn-p:
<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="_blank"吗?您尝试自动化的手动步骤是什么? -
您好,以下是我尝试执行的总体手动步骤:1. 在页面上查找链接元素,2.删除链接元素的目标属性,3.单击链接元素,它在同一个选项卡上打开。
标签: javascript c# selenium dom selenium-webdriver