java - 如何使用 Selenium 和 Java 在 https://www.phptravels.net/home 的聊天机器人表单输入字段中输入文本
问题描述
import java.util.List;
import java.util.concurrent.TimeUnit;
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;
public class Bot {
/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
WebDriver driver;
String baseURL = "https://www.phptravels.net/";
System.setProperty("webdriver.chrome.driver","/home/khawar/workspace/MyTest/chromedriver");
driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().deleteAllCookies();
driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
driver.get(baseURL);
List<WebElement> element = driver.findElements(By.xpath("//iframe[@id = 'chat-widget']"));
Thread.sleep(5000);
if(element.size()>0){
element.get(0).click();
}
driver.switchTo().frame(1);
// Enter Name
driver.findElement(By.id("name")).sendKeys("reretr");
// Enter Phone Number
driver.findElement(By.id("o68vveqb3d_157907312787606648")).sendkeys("1234567");
// Enter Email
driver.findElement(By.id("email")).sendKeys("test@gmail.com");
// Click on button
driver.findElement(By.xpath("//*[@id='pvtkmhumbra']/div/form/div[7]/button/div/span")).click();
}
}
当我单击聊天机器人图标时,它会打开。但是我尝试使用 sendkey 输入值,然后它们没有输入到输入字段中。有什么建议吗?我不知道这有什么问题。请让我知道如何为这些字段提供输入?
解决方案
代替
driver.switchTo().frame(1);
利用
driver.switchTo().frame("chat-widget")
然后再试一次。
推荐阅读
- javascript - 如何将两个数组合并为一个对象?
- r - R-Markdown ggplot网格未正确显示
- python - get_object_or_404 不返回我已验证存在于数据库中的对象
- css - React NextJS CSS - 部分的高度设置为父高度的 100%,但给出页面高度的 100%
- android - 通知通道自定义声音仅在我在模拟器上运行应用程序进程时才有效
- python - 用户不能在 Flask (SQLAlchemy) 中关注组
- python - SQLite3 - 跨表 SELECT 查询
- reactjs - 如何从 Django(后端)向 React Native(移动)应用程序发送通知
- java - 服务器上有应用程序的三个实例。但我们想在应用程序的一个实例上执行 cronjob 调度逻辑
- javascript - 需要帮助使用 chrome.webRequest 来阻止使用 Chrome 扩展程序的网站