Selenium 获取 Twingly 的文本输入(Java 代码)
Selenium getting text input of Twingly (Java Code)
的元素
它有一个表单,以及 2 个文本输入和 1 个提交按钮。
我不知道当用户在那边输入一些 url 时实际使用的是这 2 个输入中的哪一个。
但是当我尝试这个(使用 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
结果还是找不到元素。
有什么线索吗?
你没有提到你面对的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();
同样适用于我。
它有一个表单,以及 2 个文本输入和 1 个提交按钮。 我不知道当用户在那边输入一些 url 时实际使用的是这 2 个输入中的哪一个。
但是当我尝试这个(使用 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
结果还是找不到元素。 有什么线索吗?
你没有提到你面对的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();
同样适用于我。