2016-06-13 38 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」。 您正在等待足夠的時間來加載元素。 –

相關問題