gpt4 book ai didi

java - 如何使用 Selenium WebDriver 和 Java 单击未定义 ID 的输入类型提交

转载 作者:行者123 更新时间:2023-12-01 09:27:00 25 4
gpt4 key购买 nike

我正在尝试登录网站,登录表单没有任何与其值关联的 ID,并且它仅使用名称:

<div id="warp">
<div id="content">
<form action="/index.php" method="post" name='login'>
username: <input type="text" name="username">
password: <input type="text" name="password">
<input type="submit" name="login" class="submit" value="login">

使用以下命令我可以填写用户 ID 和密码,但无法单击“提交”。

WebElement username = driver.findElement(By.name("username"));
username.sendKeys("xxxxx");
WebElement password = driver.findElement(By.name("password"));
password.sendKeys("xxxxx");

这不会被执行:

WebElement login = driver.findElement(By.name("login"));
login.click();

错误:-

Unable to locate element login

如果我做了 element.submit();它清除在通行证/用户字段中输入的数据。

最佳答案

正如我在您提供的 HTML 中看到的,有两个具有相同名称 login 的元素,您需要创建更具体的定位器来使用 login 按钮定位By.cssSelector() 如下:-

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.submit[name = 'login']"))).click();

关于java - 如何使用 Selenium WebDriver 和 Java 单击未定义 ID 的输入类型提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39755256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com