使用Watir在Safari中发出定位按钮

时间:2018-02-20 23:13:05

标签: ruby safari webdriver watir

我在Safari中找到按钮时遇到了奇怪的问题。 这是按钮的html:

browser.span(:css => "span[id=submit-btn]")
browser.span(:id => "submit-btn")

当我尝试按ID找到按钮时,它无法找到它

browser.span(:text => "Submit")

但是当我通过文本找到它时,它会正确找到按钮:

public class myFrame extends javax.swing.JFrame {

int x_pos;
int y_pos;
int scope = 20;

public void paint(Graphics g) {
    super.paint(g);
    x_pos = (int) (Math.random() * 1000) % panel.getWidth();
    y_pos = (int) (Math.random() * 1000) % panel.getHeight();

    //===== NODE
    g.setColor(Color.red);
    fillCircle(g , x_pos, y_pos, 10);

    //===== SCOPE
    g.setColor(Color.black);
    drawCircle(g , x_pos, y_pos, scope);
}

public void fillCircle(Graphics g, int x, int y, int r){
    x = x - (r/2);
    y = y - (r/2);
    g.fillOval(x, y, r, r);
}

public void drawCircle(Graphics g, int x, int y, int r){
    x = x - (r/2);
    y = y - (r/2);
    g.drawOval(x, y, r, r);
}
}

可能出现什么问题?它是safari webdriver的问题吗?我使用本机webdriver在Safari 11.1上运行。 尝试了几种不同的方法,通过xpath和父元素找到按钮,但没有运气。 注意:使用Chrome浏览器找到窗口按钮的每种方式都可以。

1 个答案:

答案 0 :(得分:0)

尝试使用spans代替span。这对我有用:

browser.spans(:id => "submit-btn").first