Selenium按钮不是WebElement

时间:2016-04-26 22:35:45

标签: java selenium xpath

我试图通过自动化创建一些电子邮件,但我一直坚持;

https://app.tutanota.de/#register

<div class="record">
                        <div class="recordName"></div>
                              <div class="formAction">
                                        <button class="single fontImage confirm disabled" type="submit" data-bind="css: { disabled: !isCreateAccountPossible() }, lang: 'createAccount_action'">Hesap oluştur</button>
                                        <button class="single" data-bind="fastClick: login, lang: 'backTologin_action'">Giriş'e dön</button>
                                        <label class="recordStatus invalid" data-bind="lang: getCreateAccountErrorMessage()">Lütfen bir şifre giriniz.</label>
                                    </div>
                                </div>

但我甚至无法找到或点击此按钮

<button class="single fontImage confirm disabled" type="submit" data-bind="css: { disabled: !isCreateAccountPossible() }, lang: 'createAccount_action'">Hesap oluştur</button>

我尝试使用xpath和classname之类的;

driver.findElement(By.xpath("//button[@type='button' and @class='single fontImage confirm']")).click();

driver.findElement(By.classname("single fontImage confirm"));

我尝试过;

driver.findElement(By.cssSelector("...(divs and classes until I reach button classname like #somediv .someclass #anotherdiv .anotherclass .single fontImage confirm)"));

此外,当您输入邮件和密码等信息时,此按钮类正在更改,但在将其类变为single fontImage confirm disabled

的信息之后,直到其类名为single fontImage confirm为止。

我知道这是一个非常基本的问题但是我尝试了很多东西才能让它运转起来但没有运气。任何帮助表示赞赏。谢谢!

2 个答案:

答案 0 :(得分:2)

您的所有定位器都不正确。第一个by.xpath问题是按钮类型和类。按钮类型是'submit',类应该使用contains而不是equal。第二个by.classname不正确,因为缺少“disabled”。我不明白第三个cssSelector。

您可以使用cssSelector:

By.cssSelector("div.formAction > button[class*='single fontImage']");

或XPath:

By.xpath("//div[@class='formAction']/button[contains(@class,'single fontImage')]");

答案 1 :(得分:1)

通过CSS类选择元素最方便的方法是使用 CSS选择器

div.formAction > button.single.fontImage.confirm

上面的选择器会找到包含类div的{​​{1}}元素,然后返回包含所有但不限于以下类的子元素formAction:{ {1}},buttonsingle