出现元素不可交互或元素不可见的错误

时间:2019-02-22 09:47:32

标签: python python-3.x selenium selenium-webdriver selenium-chromedriver

得到

的错误
  

selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互

(或)

  

selenium.common.exceptions.WebDriverException:消息:搜索查询代码行无法访问chrome。

我认为搜索字段隐藏在网站中。代码帮助。

from selenium import webdriver  
from selenium.webdriver.common.by import By  
from selenium.webdriver.support.ui import WebDriverWait  
from selenium.webdriver.support import expected_conditions as EC  
from selenium.common.exceptions import TimeoutException  
from selenium.webdriver.common.keys import Keys

#Step: Create new browsing session
options = Options()  
options.add_argument("start-maximized")   
browser = webdriver.Chrome("C:/Users/ashita.gadagotti/Downloads/chromedriver_win32/chromedriver.exe",chrome_options=options) 

#Search Query    
browser.get("https://equiniti-kyc.com")   
search_input = browser.findElement(By.className("primary-navigation__search-input").isEnabled()  
search_input.send_keys('ISO')  
search_input.submit()

1 个答案:

答案 0 :(得分:-1)

是的,它将显示ElementNotInteractableException,因为首先您需要单击显示在您网站右侧的搜索按钮,这将启用搜索框,并且需要使用发送键并按下按钮。

 browser.find_element_by_xpath("//i[@class='primary-navigation__list-item-link-icon-search']//*[@class='icon']").click()

然后,您需要使用发送键进行搜索输入。

 search_input =browser .find_element_by_xpath("//div[@class='primary-navigation__search-container primary-navigation__search-container--shown']//input[@placeholder='Search']")
 search_input.send_keys('ISO') 

然后再次需要单击搜索按钮,以便所有结果都将显示在屏幕上

browser.find_element_by_xpath("//div[@class='primary-navigation__search-container primary-navigation__search-container--shown']//input[@value='GO']").click()

这里我使用绝对xpath,但是可以使用动态xpath。它不适用于类名,因为已将相同的类名分配给其他元素。因此会混淆应该选择哪个元素。在这种情况下,请使用绝对xpath或动态xpath。