点击提交按钮行为

时间:2018-01-16 10:43:19

标签: java css selenium-webdriver

有人可以帮我跟进: 我有几种语言的按钮,必须点击它。在EN上它可以正常工作,而在其他语言上执行相同操作时,它的行为就像我按住鼠标左键并通过按钮从左向右移动一样。它看起来像下面的截图,HTML也在下面。

enter image description here

DE页面上的

HTML:

<div class="column large-12 text-center">
<input id="post-tip-submit" type="submit" class="button secondary expand" value="Veröffentlichen">
<div id="post-tip-loader-9" class="loader-large"><div>Loading...</div>   </div><br><br>
</div>

在EN页面上:

<div class="column large-12 text-center">
<input id="post-tip-submit" type="submit" class="button secondary expand" value="Publish">
<div id="post-tip-loader-9" class="loader-large"><div>Loading...</div></div><br><br>
</div>

它看起来与按钮的“标题”相同,但不知何故点击EN按钮打开下一页,而点击其他语言按钮仍然卡在该页面上,按钮在“点击”后消失(在两种语言上)。

还有一件事:在EN页面上提交按钮比其他语言要广泛得多(不确定最后一句话是多么重要)。

尝试以下代码但未成功:

driver.findElement(By.cssSelector("#post-tip-submit")).isDisplayed();
    driver.findElement(By.cssSelector("#post-tip-submit")).sendKeys(Keys.RETURN);
    Thread.sleep(7000);

另外,这个:

driver.findElement(By.cssSelector("#post-tip-submit")).isDisplayed();
    driver.findElement(By.cssSelector("#post-tip-submit")).click();
    Thread.sleep(7000);

XPATH根本找不到那个元素,CSS确实如此 请协助

2 个答案:

答案 0 :(得分:1)

id用于唯一元素。尝试使用类,例如class =“post-tip-submit”和cssSelector(“。post-tip-submit”)。让我们看看它是否更好?

答案 1 :(得分:-1)

Css选择器基于您的标记希望它有所帮助。

    static Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
        .withTimeout(elementWaitTime, SECONDS)
        .pollingEvery(2,SECONDS)
        .ignoring(NoSuchElementException.class);



WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("input.button[type=submit]")));
element.click()