javascript - 我正在尝试对创建 facebook 帐户进行自动化测试
问题描述
我正在尝试通过创建帐户在 Facebook 上进行自动化测试,但我在单击“创建帐户”按钮时遇到问题,我正在尝试按 ID 使用 FindElement,但它不起作用.
public void criarConta(String nome, String apelido, String email, String password) {
driver.findElement(By.id("u_0_2_OE")).click();
WebElement nomeElement = driver.findElement(By.name("firstname"));
nomeElement.sendKeys("Teste");
WebElement apelidoElement = driver.findElement(By.name("lastname"));
apelidoElement.sendKeys("Alfasoft");
WebElement emailElement = driver.findElement(By.name("reg_email__"));
emailElement.sendKeys("fabio.teste@alfasoft.pt");
WebElement passwordElement = driver.findElement(By.name("reg_passwd__"));
passwordElement.sendKeys("AlfasoftTeste_");
driver.findElement(By.name("birthday_day")).click();
WebElement idElement = driver.findElement(By.id("day"));
idElement.sendKeys("6");
driver.findElement(By.name("birthday_month")).click();
WebElement mesElement = driver.findElement(By.id("month"));
mesElement.sendKeys("Ago");
driver.findElement(By.name("birthday_year")).click();
WebElement anoElement = driver.findElement(By.id("year"));
anoElement.sendKeys("1999");
driver.findElement(By.id("u_h_3_BO")).click();
driver.findElement(By.name("websubmit")).click();
}
(我在另一个类中使用以下代码调用此代码:public static void main(String[] args)
throws Exception 然后tarefa2Project.criarConta("nome","apelido","email","password");
...
解决方案
您可以在这里使用 xpath,使用元素属性和文本使其唯一:
driver.findElement(By.xpath("//a[@role='button'][text()='Create New Account']")).click();
推荐阅读
- django - Dockerizing Django 应用程序:ModuleNotFoundError:没有名为“X”的模块
- python - 如何使用 conda 环境在任何目录中导入包含 python 代码的特定文件夹?
- reactjs - 对象作为 React 子对象无效(找到:带有键 {} 的对象)。如果您打算渲染一组孩子,请改用数组
- signal-processing - 使用 FFTW 计算波长、幅度和相位
- macos-mojave - macOS应用程序的公证过程不起作用
- mongodb - 如何比较两个字符串格式时间?
- javascript - 在mssql中成功或未删除数据后如何显示警报框
- jenkins - 检索 Jenkins 容器模板预配置的环境变量
- macos - 如何在 mac os 上的 docker 上的 centos 中启用 vt-x
- node.js - 如何处理 Node/Express/Typescript 中的拒绝?