2016-06-13 106 views
-3

互动我试图点击一个ui-popup上的按钮,但总是失败。 HTML:enter image description here我的硒说元素目前不可见,所以可能不会与

该网站看起来是这样的:

而且我写的:

driver.find_element_by_xpath('//*[@id="focussuccesstipsclose"]').click() 

但它说,

“selenium.common.exceptions .ElementNotVisibleException:消息: 元素当前不可见,所以可能不会与'

我已经在网上发现了许多类似的问题,但他们无法解决我的问题。我是一名有硒的初学者,任何帮助将不胜感激!

+0

请在这篇文章中发布代码,而不是截图。 –

+0

对不起。第一次提问 – Julian

+0

Solved.this元素不可见其父元素,所以使用:parentElement = driver.find_element_by_xpath('// * [@ id =“focussuccesstips”'') driver.execute_script('arguments [0] .style.display =“block”;',parentElement) driver.find_element_by_xpath('/ html/body/div [7]/div/table/tbody/tr [1]/td/button')。click() – Julian

回答

-1

使用JavaScript执行

WebElement element = driver.findElement(By.xpath("//a[@id='focussuccesstipsclose']")); 
JavascriptExecutor executor = (JavascriptExecutor)driver; 
executor.executeScript("arguments[0].click();", element); 

如果显示元素不可见异常再使用的webdriver等待方法

+0

尝试过,没有工作,不知道为什么 – Julian

-1

这发生在其他一些元件覆盖在其上要执行的元素行动。 在你的情况
driver.find_element_by_xpath('//*[@id="focussuccesstipsclose"]').click()

检查你是否在这个步骤之前进行任何其他操作,如果是这样,然后检查操作是否覆盖你的“focussuccesstipsclose” ID屏幕上的UI,如果这样的话硒写着“元素不是目前可见,因此可能不会与“互动”。

要想出现这种情况,请尝试点击页面上的其他地方,这将删除您的ID上的封面。

当日历覆盖我的元素时,我遇到了这个问题。

+0

它不起作用,但还是非常感谢你 – Julian

+0

你可以做一些检查,如 - 该页面有单个ID,名称为“focussuccesstipsclose”。 您正在等待足够的时间来加载元素。 –

相关问题