i have had no problem finding objects on the webpages, but this one is giving me hard time
url used: https://interact2.responsys.net/authentication/login/LoginPage
在此页面上我无法点击“登录”按钮。
我尝试使用ID,Class,xPath,自定义xPath
Firepath:登录
我哪里错了?你能帮我吗
答案 0 :(得分:0)
问题在于页面上有两个元素具有几乎相同的HTML
代码。第一个是隐藏的,所以无论您如何尝试使用id
或class
点击该按钮,您都会获得ElementNotVisibleException
。您需要使用索引来选择所需的一个(第二个),例如在Python
,这应该是
driver.find_elements_by_id("signIn")[1].click()
或者您可以使用仅包含在第二个元素中的onclick
属性:
driver.find_element_by_xpath("//button[@id='signIn' and @onclick]").click()
答案 1 :(得分: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")));