java - Selenium:更改实例或连接两个实例

标签 java selenium xpath selenium-webdriver findby

是否可以组合/连接两个 Bys?

如果我有一个 By

By parentBy = new By.xpath(".//div[@class='parent']")

和另一个作者

By childBy = new By.xpath(".//div[@class='child']")

是否可以将两个 Bys 连接到一个具有此 xpath 的新 Bys?

By combinedBy = new By.xpath(".//div[@class='parent']/div[@class='child']")

有点像

By combinedBy1 = parentBy + childBy
By combinedBy2 = parentBy.Concat(childBy)

用例:

我们使用页面对象模型。

现在我有一个表作为一种子页面对象模型。这个表应该有一个方法来选择一些数据。由于一些 html 结构问题(它是第三方),我必须通过检查单元格的类和该单元格的文本/内容来对作为 div(行)子级的表格单元格进行 xpath。

最佳答案

除了@SiKing 所说的之外,我还建议您查看ByChained 类(有关 javadoc,请参阅 here)。

使用示例:

driver.findElements(new ByChained(By.id("product-table"), By.className("quantity")));

不确定这是否直接解决了 OP 的问题,但仍然非常有用。

关于java - Selenium:更改实例或连接两个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24205871/

相关文章:

java - 例如,如何从第二行开始迭代二维数组列表?

java - 无法单击从工厂方法传递的元素

xml - Powershell根据子节点值选择父xml节点并添加子元素

java - Selenium/getElements 通过 XPATH 和 CONTAINS (JAVA)

java - 如果过滤值为空,如何跳过流过滤器?

java - 使用 @Resource 注释替换 JNDI 查找

java - 独立于帧率的 LibGdx 物理

python - 如何通过 python webdriver 查找父元素?

python - Webdriver + PhantomJS 只是卡在那里

python - 如何从 Selenium 中的多个类的多个元素中获取数据?