我正在编写一个自动化测试,想直接在GitHub的回购中报告错误。我的程序失败的步骤是GitHub Issue Tracker中的提交新问题按钮。
以下是代码:
WebElement sendIssue = driver.findElement(By.xpath("/html/body/div[5]/div/div/div[2]/div[1]/div/form/div[2]/div[1]/div/div/div[3]/button"));
sendIssue.click();
例外:
org.openqa.selenium.WebDriverException:元素无法点击 point(883,547.7999877929688)。其他元素将收到点击: div class =" modal-backdrop">
以下命令也不起作用:
((JavascriptExecutor) driver).executeScript("arguments[0].click();", sendIssue);
如何使其可点击?还有其他方法可以解决这个问题吗?
答案 0 :(得分:2)
这种情况正在发生,因为当selenium试图点击时,所需的元素无法点击。
您必须确保您提供的Xpath绝对正确。如果您确定Xpath,请尝试以下
替换
WebElement sendIssue = driver.findElement(By.xpath("/html/body/div[5]/div/div/div[2]/div[1]/div/form/div[2]/div[1]/div/div/div[3]/button"));
sendIssue.click();
带
WebElement sendIssue =(WebElement)new WebDriverWait(DRIVER,10).until(ExpectedConditions.elementToBeClickable(By.xpath("/html/body/div[5]/div/div/div[2]/div[1]/div/form/div[2]/div[1]/div/div/div[3]/button")));
sendIssue.click();
如果这不起作用,您将收到超时异常,在这种情况下,请尝试将超时数量从10提取到20。
如果仍然无效,请发布HTML的屏幕截图。
你需要在问题标题和说明中写一些东西,以使问题可以点击你确定你没有犯这样的错误点击按钮而不在那些地方写任何东西我为你方便添加截图。
答案 1 :(得分:0)
Selenium Webdriver在之前的版本(v2.48)中引入了一种新行为,可防止点击可能与其他内容重叠的元素(例如固定页眉或页脚)或可能不在您的视口(可见区域)浏览器窗口中的网页)。 你可以看到辩论here。
要解决此问题,您需要滚动(向上或向下)到您尝试点击的元素。
一种方法就像这篇文章:
Page scroll up or down in Selenium WebDriver (Selenium 2) using java
在Github上创建问题的另一种,也许更合理的方法是使用他们的API。也许最好退房!
Gook运气。
答案 2 :(得分:0)
这对我有用。如果我们执行预期的Web浏览器,则代替HTML浏览器将很有用
DELETE myTable
WHERE myCol = char(98) + char(32) + char(41)