2017-07-14 142 views
0

我有沒有問題,找到的網頁對象,但是這一次是給我無法找到的XPath硒

使用URL困難時期:https://interact2.responsys.net/authentication/login/LoginPage

此頁我無法點擊「上登錄「按鈕。

我試着用ID,等級,XPATH,自定義XPath

Firepath:登錄

我在哪裏去了?請你幫我

+0

請分享的確切的HTML「登錄「按鈕,以及迄今爲止嘗試的內容。 –

+0

button id =「signIn」type =「submit」style =「margin-right:20px;」 class =「buttonOn」>登錄 – FrancisKmart

回答

0

問題是,頁面上有兩個元素幾乎相同的HTML代碼。第一個是隱藏的,所以無論您如何嘗試點擊使用idclass的按鈕......您將獲得ElementNotVisibleException。您需要使用索引來選擇所需的一個(第二個),例如在Python這應該是像

driver.find_elements_by_id("signIn")[1].click() 

,或者您可以使用它僅包含在二次元onclick屬性:

driver.find_element_by_xpath("//button[@id='signIn' and @onclick]").click() 
+0

謝謝安德森。 正如我使用Java,我試着用「//按鈕[@ id ='signIn'和@onclick]」 它工作 – FrancisKmart

0

嘗試:

JavaScriptExecutor js = (IJavaScriptExecutor)driver; 
js.ExecuteScript("var evt = document.createEvent('MouseEvents');" +"evt.initMouseEvent('click',true, true, window, 0, 0, 0, 0, 0, false, false,false, false, 0,null);" + "arguments[0].dispatchEvent(evt);", driver.FindElement(By.Id("signIn"))); 
+0

謝謝Levan。我 – FrancisKmart

+0

它工作嗎?當元素不可見或可點擊時,總是幫助我。 –

+0

是的Levan。有效。謝謝 – FrancisKmart