错误:元素当前不可交互,也可能无法使用python selenium进行操作

时间:2018-03-20 14:57:14

标签: python selenium-webdriver web-scraping selenium-chromedriver

我面临的错误是"元素目前无法互动,可能无法操纵"。

我正在使用硒进行卷筒纸刮擦。该网站是" 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元素时,有一个隐藏元素。任何人都可以帮我处理上述问题。如何处理或删除隐藏的元素。

1 个答案:

答案 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']")