我面临的错误是"元素目前无法互动,可能无法操纵"。
我正在使用硒进行卷筒纸刮擦。该网站是" https://openload.co/login"。
在这里,我试图通过element.send_keys("ABC")
输入值并填写字段。我尝试用find_element_by_id("loginform-email")
填充它,然后使用send_keys。所以我得到了上述错误。
我也尝试使用driver.find_element_by_xpath("""/*[@id="loginform-email"]""")
,但我得到了同样的错误,selenium.common.exceptions.InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated
我知道当我在该特定站点中使用inspect元素时,有一个隐藏元素。任何人都可以帮我处理上述问题。如何处理或删除隐藏的元素。
答案 0 :(得分:0)
页面上有两个相似的表单。它们都有id =&#34; loginform-email&#34;的元素,但第一个是不可见的。 find_element_by_<something>
返回与给定规范对应的元素的第一个匹配项。而那个元素属于无形的形式。因此,您尝试将密钥发送到不可见元素。 Webdriver不允许这样做。
您应该更正xpath以查找第二次出现的输入字段。
driver.find_element_by_xpath("//input[@id = 'loginform-email'])[2]")
或
driver.find_element_by_xpath("//h1[.='Login']/following-sibling::form[@id ='login-form']//input[@id='loginform-email']")