![](/img/trans.png)
[英]How to Open a Hyperlink (2) in the same window which was opened with a click to Hyperlink1
[英]How to click on a link which should be open in same window using Selenium Java
我只是在自學並嘗試使用 Selenium-Java 自動化 Flipkart 站點。
所以這里的場景是:我想單擊屬性設置為 Target=_blank 的產品鏈接。
我想將其設置為_self。
我已經使用 JS Executor 編寫了一個代碼,但在運行時出現錯誤:
WebElement linkpath = driver.findElement(By.xpath("//div[text()='vivo Y12G (Glacier Blue, 64 GB)']"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementByXpath("+linkpath+").setAttribute('target', 'self')");
linkpath.click();
錯誤:
org.openqa.selenium.JavascriptException: javascript 錯誤:意外的令牌 ':'
代碼的問題在於這一行:
js.executeScript("document.getElementByXpath("+linkpath+").setAttribute('target', 'self')");
您正在嘗試傳遞一個對象(由您的第一行代碼標識的元素)而不是 xpath 字符串 (getElementByXpath)
您有 2 個選擇:
String xpath = "//div[text()='vivo Y12G (Glacier Blue, 64 GB)']"
WebElement linkpath = driver.findElement(By.xpath(xpath));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementByXpath(xpath).setAttribute('target', 'self')");
linkpath.click();
WebElement linkpath = driver.findElement(By.xpath("//div[text()='vivo Y12G (Glacier Blue, 64 GB)']"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].setAttribute('target', 'self')",linkpath);
linkpath.click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.