为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Selenium 和 Java 单击登录按钮/链接 data-testid

如何使用 Selenium 和 Java 单击登录按钮/链接 data-testid

繁星点点滴滴 2022-10-26 16:57:34
我正在尝试单击“登录”,但我的 Selenium 代码不起作用。下面是 HTML 代码。<span class="css-14krylx-text-text-fullPageText-FormFooter">Already have a Times account?  <span tabindex="0" data-testid="switch-to-login" class="css-dip6gw-link-link-FormFooter">Log in</span></span>到目前为止我尝试了什么但没有奏效?driver.findElement(By.cssSelector("[data-testid='switch-to-login'")).click();driver.findElement(By.xpath("//span[@data-testid='switch-to-login'")).click();driver.findElement(By.cssSelector("/.css-dip6gw-link-link-FormFooter'")).click();还有其他方法吗?
查看完整描述

1 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

所需元素是动态元素,因此要定位元素,您必须诱导WebDriverWait元素可点击,您可以使用以下任一定位器策略

  • cssSelector

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("span[class$='text-text-fullPageText-FormFooter'] span[class$='link-link-FormFooter'][data-testid='switch-to-login']"))).click();
  • xpath

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[contains(@class, 'text-text-fullPageText-FormFooter')]//span[contains(@class, 'link-link-FormFooter') and text()='Log in']"))).click();


查看完整回答
反对 回复 2022-10-26
  • 1 回答
  • 0 关注
  • 249 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号