【发布时间】:2020-09-20 17:09:43
【问题描述】:
我正在尝试使用 Selenium 右键单击 Facebook 登录页面上的 Forgotten account? 链接,但它不起作用。
我正在尝试在contextClick() 之后使用send.Keys(),但按键发生在页面上而不是上下文菜单上。
package keyboardandmouseaction;
import java.awt.AWTException;
import java.util.Iterator;
import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
public class testcase8 {
public static void main(String[] args) throws AWTException, InterruptedException {
System.out.println("Running keyboardandmouseactions > testcase8");
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.facebook.com/");
WebElement link=driver.findElement(By.xpath("//a[contains(text(),\"Forgotten account?\")]"));
Actions a=new Actions(driver);
// defective code start
Action builder=a.moveToElement(link).contextClick(link).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ENTER).build();
// defective code end
builder.perform();
Set<String> windowid =driver.getWindowHandles();
Iterator<String> itr =windowid.iterator();
String mainwindow=itr.next();
String childwindow=itr.next();
System.out.println("The mainwindow id is "+mainwindow);
System.out.println("The childwindow id is "+childwindow);
driver.switchTo().window(childwindow);
driver.get("http://demo.automationtesting.in/Alerts.html");
driver.close();
}
}
【问题讨论】:
-
`动作动作=新动作(驱动程序); action.keyDown(Keys.LEFT_CONTROL).moveToElement(link).click().keyUp(Keys.LEFT_CONTROL).build().perform();` 修改代码这会在新选项卡中打开链接,但选项卡会立即关闭并且链接会在主选项卡中打开。
-
您需要编辑您的问题以包含所有信息。评论不适合这个。
标签: java selenium selenium-webdriver tabs webdriverwait