不使用selenium java从城市字段中选择

不使用selenium java从城市字段中选择,java,selenium,Java,Selenium,通过在应用程序上使用SeleniumWebDriver和java语言,不从city字段中进行选择 public class LoginPage { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); WebDriver driver = new Ch

通过在应用程序上使用SeleniumWebDriver和java语言,不从city字段中进行选择

public class LoginPage {
    public static void main(String[] args) {


        System.setProperty("webdriver.chrome.driver", "chromedriver.exe");

        WebDriver driver = new ChromeDriver();
        driver.get("http://www.makemytrip.com/");
        driver.manage().window().maximize();
        driver.findElement(By.id("fromCity")).click();
    }
}
控制台错误:

线程“main”org.openqa.selenium.WebDriverException中的异常: 元素点击被截获:元素输入数据cy=“fromCity” id=“fromCity”type=“text”class=“fsw\u输入字段font30线高36 latoBlack“readonly=”“value=“德里”>在点(244, 255). 其他元素将接收click:div 数据cy=“outsideModal”class=“loginModal displayBlock ModalIn dynHeight个人“>


您可以使用下面的代码单击,因为您正在尝试的事情可以通过首先将鼠标指针移动到该元素,然后单击该元素来完成

因此,请使用以下代码:

WebDriver driver = new ChromeDriver();
driver.get("http://www.makemytrip.com/");
driver.manage().window().maximize();  
Actions action=new Actions(driver);
WebElement fromCity=driver.findElement(By.id("fromCity"));
action.moveToElement(fromCity).doubleClick().perform();

根据控制台错误:元素单击被拦截。另一个类以LoginModel开头的webelement需要单击。主页上嵌入了登录页面或框架。因此,您尝试单击的元素被隐藏

您可以使用以下命令查找帧的编号

列表框=driver.findElements(按.tagname('iframe')); System.out.println(“帧数:+frame.size())

您可以在的帮助下切换到框架

驱动程序切换到()帧(1)

之后,处理登录页面,然后通过

driver.switchTo().defaultContent()


这会将您重定向到主页,然后尝试查找所需的web元素。

这能解决您的问题吗?@MillieAnneVolante谢谢