在一個項目中,我想右鍵點擊一個選項,並從那裏我想選擇「在新窗口中打開鏈接」。我寫了下面的selenium-java代碼。在這段代碼中,它是在「在新窗口中打開鏈接」進行爬網,但之後沒有單擊該選項在新窗口中打開我需要的鏈接。如果你想要,你可以直接複製和粘貼我的代碼來可視化執行流程。請幫我明白的地方是我做了錯誤的....我的目的是在新窗口中打開鏈接從右鍵單擊菜單它不是點擊一個特定的選項Selenium
package pack_001;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.Keys;
public class mail {
public static WebDriver driver=new FirefoxDriver();
public static void main(String args[])
{
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get("http://www.tutorialspoint.com/java/");
driver.manage().window().maximize();
WebElement env=driver.findElement(By.linkText("Java - Environment Setup"));
System.out.println("Env point out");
Actions oAction = new Actions(driver);
oAction.moveToElement(env);
oAction.contextClick(env).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).click().build().perform(); /* this should click on the option*/
}
}
要獲得同樣的效果,你可以創建一個新的'WebDriver'並導航到該鏈接。例如:'driver2.get(env.getAttribute(「href」));' – Titus
如果您不介意,請您詳細說明這一部分。我的意思是,如果我已經確定了一個名爲'element'的鏈接WebElement,我該如何在新窗口中打開它...... – RCode
要創建一個新窗口,您需要創建一個新的'WebDrive',例如:'WebDriver driver2 = new FirefoxDriver();',並在這個新窗口中打開'element'鏈接,可以這樣做'drive2.get(element.getAttribute(「href」));'。如果'element'是一個HTML''元素,這將起作用。另外,Firefox有一個快捷方式可以在新窗口中打開一個鏈接:SHIFT +左鍵單擊。 – Titus