java - 要在 Google 登录中查找语言下拉列表的 xpath
问题描述
单击下拉按钮时,会显示语言。我想将所有这些语言存储在一个列表中,然后使用 for 循环进行迭代,以便我可以选择一种。
我尝试了很多方法来创建动态 xpath,但是当我检查列表的大小时它返回“0”。
这是代码
driver.get("https://accounts.google.com/signup/v2/webcreateaccount?continue=https%3A%2F%2Fwww.google.com%3Fhl%3Den-US&hl=en&gmb=exp&biz=false&flowName=GlifWebSignIn&flowEntry=SignUp");
driver.findElement(By.xpath("//span[contains(text(),'English (United States)')]"))
.click();
List<WebElement> list = driver.findElements(By.xpath("//div[@jsname='V68bde']//div"));
System.out.println(list.size());
我在这里先向您的帮助表示感谢!
解决方案
您的代码很好,问题在于列表选择器://div[@jsname='V68bde']//div
您需要引用实际包含文本的元素://div[@jsname='V68bde']//div//span
推荐阅读
- php - 想要从 Laravel 嵌套关系创建一个家谱
- amazon-web-services - AWS RDS 加密允许通过 mysql-client 访问生成纯文本
- c++ - 尽管一切看起来都很好,但值并没有交换
- sequelize.js - sequelize 中的批量删除和销毁有什么区别?
- adobe - Adobe Experience Manager - 用于无头消费的隐藏内容
- javascript - 仅接受十六进制输入
- java - 无法使用数据流访问记录类型数组列进行键值转换
- javascript - 正则表达式到特定字符串
- javascript - 如何仅在地图中执行所有等待之后才增加变量值,以便我可以执行承诺并行?
- python - Python 列表循环