我有一个问题,硒,测试网站。
我试图等待元素被点击,它通过了。这是我的代码:
public static void insertPublisherName(String publisherName)
{
// BasePage.manuallyKeyboardPressing(Keys.ESCAPE);
// Logger.info("\n ******************* insert publisher name by Xpath: "+ COMPANY_NAME_XPATH +" *\n **************************************************\n");
// BasePage.inputValueByXpath(publisherName,COMPANY_NAME_XPATH);
WebDriver driver2 = WebDriverMgr.getDriver();
driver2.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
WebDriverWait wait = new WebDriverWait(driver2,58);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@formcontrolname='publisher_name']")));
WebElement element = driver2.findElement(By.xpath("//input[@formcontrolname='publisher_name']"));
element.click();
element.clear();
element.sendKeys("123465");
}
这是例外:
:ERROR: element click intercepted: Element <input _ngcontent-xni-c24="" autocomplete="off" formcontrolname="publisher_name" nz-input="" placeholder="Enter Publisher Name" class="ant-input ng-untouched ng-pristine ng-valid" ng-reflect-name="publisher_name"> is not clickable at point (1560, 116). Other element would receive the click: <div class="ng-tns-c0-94 ant-notification-notice-with-icon">...</div>
>
我也试着让硒按下esc按钮,但仍然是错误,我如何克服这个问题?
我如何知道在哪里单击该元素将可以自由单击我需要他单击的位置这不是等待问题,因为当我调试时,我等待了更多次,仍然会出现此错误
当做
有时,您可以通过发送空格或按enter键来绕过被阻止的单击。尝试:
element.sendKeys(Keys.SPACE);
或
element.sendKeys(Keys.ENTER);
但是,查看阻止单击的元素的类,它可能是一个通知,在这种情况下,您必须首先关闭通知。一些解释如何做到这一点的答案已经发布。
出现此问题的原因如下:
对于浏览器大小或视图端口,请使用以下选项:
browser.manage().window().setSize(1600, 1000);
browser.actions().mouseMove(element).click();
注意:如果上述方法不起作用,请尝试链接perform()方法
browser.actions().mouseMove(element).click().perform();
等待问题:
browser.driver.sleep(3000)
注意:这不是一个标准的方式把或实现等待
最好的办法是:
WebDriverWait wait = new WebDriverWait(driver,60);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("xpath")));
对于弹出/警报:
处理窗口或警报,然后执行所需的操作
手柄窗口:
browser.getAllWindowHandles().then(function(handles){
var count=handles.length;
var newWindow = handles[count-1];
browser.switchTo().window(newWindow).then(function(){
//do your stuff on the pop up window
});
});
处理警报:
接受:
browser.driver.switchTo().alert().accept();
解雇:
browser.driver.switchTo().alert().dismiss();
异常消息指示特定元素位于目标前面。我在两个屏幕截图中都没有看到,但是很明显,当测试运行时,它会出现。
您应该在调试器中观察运行,看看是否会弹出通知,拦截自动单击,然后消失。
您可能需要等待通知并取消该通知,然后才能单击输入。
在尝试抓取一个网站时,我遇到了以下错误:“消息:元素点击拦截:元素img src=”/矩阵/图像/图标/16/我nfo.png边界=”0” 这个问题似乎来自我的链接列表(lst_of_links)。 我发现的大多数解决方案都需要添加,然而,我不清楚如何使用元素列表而不是单个元素来实现这一点。 欢迎思想。
问题内容: 我目前正在从事一个自动填写表格的项目。填写表单后,出现下一个按钮,这就是为什么它给我一个错误。 我努力了: HTML: 错误: selenium.common.exceptions.ElementClickInterceptedException:消息:元素单击被拦截:元素在点(203,530)不可单击。其他元素将获得点击:…(会话信息:chrome = 76.0.3809.132)
问题内容: 我试图单击“所有主题”和“所有状态”复选框,然后搜索结果。当我运行脚本时,会打开一个Chrome窗口,大小为1036x674。 如果我不理会窗口,则会出现元素点击拦截错误。如果我最小化或最大化窗口,则脚本可以正常工作。 我正在使用Selenium 3.141.0,chrome 76,chromedriver 76和python 3.6 但是我得到这个错误: ElementClickIn
一个测试用例在chrome驱动程序中随机失败 我正在检查Wait.Until(ExpectedConditions.ElementToBeclickable(ele));我也试过线程。睡眠
我试图刮掉一个页面,但我有时无法点击链接/按钮。 当网页加载时,那么loadingWhiteBox会先出现,然后在几秒钟后消失(但它会保留在超文本标记语言代码中),只要该框出现在网站上,我就不能点击链接并获得以下内容错误消息: 有什么办法解决这个问题吗?我已经尝试使用以下命令: 但即使元素不处于活动状态,它也存在。