2017-12-12 8 views
0
import time 
from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support.ui import Select 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.common.action_chains import ActionChains 
from selenium.common.exceptions import TimeoutException 


driver = webdriver.Chrome() 
driver.get('http://www.techfetch.com/JS/dashboard.aspx?page=fetchjobs') 
time.sleep(5) 
element = driver.find_element_by_xpath('//*[@id="txtKeyword"]') 
element.send_keys("Java") 

Fehler:Unable Element kein solches Element lokalisieren

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="txtKeyword"]"} 
    (Session info: chrome=62.0.3202.94) 
    (Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 6.1.7601 SP1 x86_64) 

enter image description here

Der Screenshot zeigt, dass die XPath korrekt und verfügbar Feld Sie versuchen

+3

Mögliches Duplikat [ein iframe mit python Selen Auswahl] (https://stackoverflow.com/questions/7534622/selecting-an-iframe-using-python-selenium) . Sehen Sie sich die Antwort an, die am häufigsten gewählt wurde, nicht die akzeptierte. – Guy

Antwort

1

Da der Eingang füllen Sie ist innerhalb iframe. Zuerst schalten und dann versuchen, zu tun, was Sie früher tat

import time 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Chrome() 
driver.get('http://www.techfetch.com/JS/dashboard.aspx?page=fetchjobs') 
time.sleep(5) 
driver.switch_to_frame(driver.find_element_by_id("contentframe")) ##switch it 
driver.find_element_by_xpath('//*[@id="txtKeyword"]').send_keys("Java") 
0

Um eine Zeichenfolge an die Keywords Box zu senden, zuerst müssen wir wait für die frame zur Verfügung stehen, um es zu wechseln dann den Keywords Box die Zeichenfolge zu senden, wie folgt:

driver.get('http://www.techfetch.com/JS/dashboard.aspx?page=fetchjobs') 
WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(By.XPATH,"//iframe[@id='contentframe']")) 
element = driver.find_element_by_xpath("//input[@id='txtKeyword']") 
element.send_keys("Java") 
Verwandte Themen