java - 无法在 iCloud 中采用 "Account settings button"和 "find my iPhone"的选择器(Xpath)

标签 java css selenium xpath automation

我需要点击 iCloud.com 上的“帐户设置”和“查找我的 iPhone”按钮(不同时)。但我的选择器都不起作用。 页面上似乎没有框架,但 Xpath 不匹配。

步骤:

  1. 登录 iCloud 帐户
  2. 查找元素“帐户设置”和“查找我的”按钮

这是我现在使用的: 对于“查找”按钮:

WebElement settings=wait.until(ExpectedConditions.
elementToBeClickable
(By.xpath("//div[@class='user-name-with-chevron']")));
settings.click();

对于帐户设置:

 WebElement settings = wait.until(ExpectedConditions.
 elementToBeClickable(By.xpath
 ("//div[@class='cw-button symbol-button link-button']")));
 settings.click(); 

我很感激任何帮助。 抱歉,如果我的问题很愚蠢,请开始学习。

html page

最佳答案

我相信您可能错过了登录后切换回默认内容的机会。 我尝试了下面的代码,它对我有用:

driver.findElement(By.id("sign-in")).click();
driver.switchTo().defaultContent(); //switch to default content 
driver.findElement(By.cssSelector("div.cw-button.symbol-button.link-button")).click(); //click on Account settings

从 iframe 切换到默认内容后,我能够找到页面上的任何 Web 元素。 希望这有帮助:)

关于java - 无法在 iCloud 中采用 "Account settings button"和 "find my iPhone"的选择器(Xpath),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61053683/

相关文章:

java - Java Swing 应用程序中的用户授权

css - html css3 slider - 如何计算代码中新创建的关键帧 slider 的百分比或运行时间?

css - 如何像 ul 中的 li 一样在属性之前使用 css 作为自己的列

testing - Selenium 中 verifyText 和 verifyTextPresent 的区别

linux - 在 Linux 服务器上运行 selenium 脚本时遇到 Chrome 驱动程序问题

java - 使用二分查找插入 ArrayList<Occurrence>

Java 将 JSON 字符串解析为数组或对象列表

java - 使用java获取mongoDB中打开的连接数

html - 我如何换行文本,这样我的 Accordion 图像就不会超出我的 Accordion 范围

c# - Selenium - 如何断言该字段等于 0