gpt4 book ai didi

java - Selenium WebDriver 在调试中通过,但在定期运行时不通过

转载 作者:行者123 更新时间:2023-11-30 08:05:27 25 4
gpt4 key购买 nike

诚然,我是 Selenium WebDriver 的新手,但在 IntelliJ 中运行基本测试时遇到了障碍。如果我在代码中放置断点并在 Debug模式下运行它并逐步完成这些步骤,我就能够运行并通过我的测试。但是,当我只是定期单击运行时,它在第二步失败,提示如下:org.openqa.selenium.WebDriverException:元素在点 (596.5、1128.63330078125) 不可单击。其他元素将收到点击:

我一直在试图弄清楚为什么它会在调试中按预期通过和运行,但在我定期运行时却不会。这是我的测试:

公共(public)类 BF_Test {

private WebDriver driver;

@Test
public void checkURL()
{

WebDriver driver = BrowserFactory.getDriver("firefox");
driver.get("http://www.vizio.com");

WebElement homePagePopup = driver.findElement(By.xpath("//div[@id='modal']/div/a"));
homePagePopup.click();

//NEED TO FIGURE OUT WAIT TIMER OF SOME SORT
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("html body.cms-index-index.cms-index div.page-wrapper div.main.col1-layout div.std section#heroslider.kslider.hero-home.section-wrap.section-wrap-primary div.navi-wrap ul.navi.navi-bind.navi-count-3 li.item-0")));

WebElement naviButtonsCarousel = driver.findElement(By.cssSelector("html body.cms-index-index.cms-index div.page-wrapper div.main.col1-layout div.std section#heroslider.kslider.hero-home.section-wrap.section-wrap-primary div.navi-wrap ul.navi.navi-bind.navi-count-3 li.item-0"));
naviButtonsCarousel.click();

WebElement homePageTVPButton = driver.findElement(By.cssSelector("#tvp-marquee-inner > div.container > div.content > a.vz-btn"));
homePageTVPButton.click();

WebElement resultsAreInValidation = driver.findElement(By.cssSelector(".thanks.fade-in"));
System.out.println(resultsAreInValidation.getText());

WebElement robinsonBtn = driver.findElement(By.cssSelector("#robinsonHomeVote > span"));
robinsonBtn.click();

WebElement robinsonPlayerText = driver.findElement(By.cssSelector("#modal-container > div > div > div.player > div.playerInfo > section > h1"));
Assert.assertEquals("Verify that Allen Robinson text is on the page","Allen Robinson",robinsonPlayerText.getText());

WebElement btnClose = driver.findElement(By.cssSelector("button.close"));
btnClose.click();

driver.quit();
}

如您所见,报告我正在尝试做的事情并没有什么疯狂的地方。只需打开一个网站,单击几个链接并断言一些文本等等。

关于我可以做些什么来让它为我工作有什么想法吗?我一直在摆弄 WebDriverWait 看看是不是 Selenium 太快了……但似乎无济于事。

谢谢!

最佳答案

WebDriverException: Element is not clickable at point 表示您要单击的元素不可见。您可以通过在单击之前滚动到元素来解决它。

WebElement element = driver.findElement(By.cssSelector("selector"));

Actions actions = new Actions(driver);
actions.moveToElement(element).build().perform();

WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(element)).click();

关于java - Selenium WebDriver 在调试中通过,但在定期运行时不通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35051102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com