有人可以帮我跟进: 我有几种语言的按钮,必须点击它。在EN上它可以正常工作,而在其他语言上执行相同操作时,它的行为就像我按住鼠标左键并通过按钮从左向右移动一样。它看起来像下面的截图,HTML也在下面。
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确实如此 请协助
答案 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()