【问题标题】:Selenium getting text input of Twingly (Java Code)Selenium 获取 Twingly 的文本输入(Java 代码)
【发布时间】:2017-01-19 17:35:09
【问题描述】:

请查看this website.的元素

它有一个表单,以及 2 个文本输入和 1 个提交按钮。 当用户在那里输入一些网址时,我不知道这两个输入中实际使用了哪一个。

但是当我尝试这个(使用 firefoxDriver)来获取元素时:

WebElement textfieldURL = driver.findElement(By.id("ping-url")); // even ping-box not working

结果找不到元素。

然后我将代码更改为:

driver.switchTo().frame(driver.findElement(By.className("ping-iframe")));
WebElement textfieldURL = driver.findElement(By.id("ping-url")); // even ping-box not working

结果仍然无法定位元素。 有什么线索吗?

【问题讨论】:

    标签: java selenium firefox iframe element


    【解决方案1】:

    你还没有提到你所面对的exception。由于您的input 标签出现在iframe 下,因此您需要先切换到框架,然后再执行操作-

    driver.switchTo().frame(driver.findElement(By.className("ping-iframe"))); 
    //or you can use frame index as well
    driver.switchTo().frame(0); 
    

    您的元素可通过 id ping-box 获得。试试下面的完整代码 -

    System.setProperty("webdriver.gecko.driver","D:/Application/geckodriver.exe");
    driver = new FirefoxDriver();
    driver.manage().window().maximize();
    driver.get("https://www.twingly.com/ping");
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    driver.switchTo().frame(driver.findElement(By.className("ping-iframe")));
    driver.findElement(By.id("ping-box")).sendKeys("http://www.google.com");
    driver.findElement(By.id("ping-button")).click();
    

    同样对我有用。

    【讨论】:

      猜你喜欢
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      相关资源
      最近更新 更多