Webdriver firefox:不支持带有name()的xpath

时间:2019-06-23 19:59:12

标签: firefox selenium-webdriver webdriver

Webdriver firefox:不支持带有name()的xpath。 例如,

import bookshelf from '../config/bookshelf';
import User from './User';
import Comment from './Comment';

const Image = bookshelf.Model.extend({
    tableName: 'images',
    timestamps: false,

    user(){
        return this.belongsTo(User);
    },

    comments(){
        return this.hasMany(Comment)
    }


}, { dependents: ['comments']});
export default Image;

这对于铬和边缘效果很好。

我正在使用

WebElement element = ...;
element.findElement(By.xpath(".//*[name()='button' or name()='input']"));

2 个答案:

答案 0 :(得分:0)

element.findElement(By.xpath(".//*[name()='button' or name()='input']"));

vs

element.findElement(By.xpath("//*[name()='button' or name()='input']"));

“。”用于查找父元素的子元素。

答案 1 :(得分:0)

大概您正在尝试针对先前确定的祖先元素findElement(By.xpath(".//*[name()='button' or name()='input']"))使用WebElement element = ...;

因此,您需要使用 .// 代替./,如下所示:

WebElement element = ...;
element.findElement(By.xpath("./*[name()='button' or name()='input']"));