简体   繁体   中英

Unable to Locate element using xpath in Python

I am new in Python and I am having problem with my Code. I am trying web scrape using Selenium by xpath, but when I run my code it shows an error such as "Unable to Locate element using: {"method":"xpath","selector":"//*[@id="T1"]"} . Tried using ID and Name as the element, but still not working.

Here is my code:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from getpass import getpass
import time
    
username1 = input("Username:")
username2 = input("Username2:")
password = getpass("Password")
stock = input("Stock Name:")
   
driver = webdriver.Chrome("")
driver.get("")
   
time.sleep(10)
username_textbox = driver.find_element_by_name("txtUser1")
username_textbox.send_keys('username1')
   
username1_textbox = driver.find_element_by_name("txtUser2")
username1_textbox.send_keys('username2')
    
password_textbox = driver.find_element_by_name("txtPassword")
password_textbox.send_keys('password')
password_textbox.send_keys(Keys.RETURN)
    
time.sleep(10)
    
search = driver.find_element_by_xpath('//*[@id="T1"]')
search.send_keys('stock')
search.send_keys(Keys.RETURN)

Element from Inspection View of the site.

<input type="text" id="T1" name="T1" onkeypress="if (event.keyCode == 13) {document.getElementById('B1').click()}" size="8" value="" style="font-family: Helvetica; font-size: 8pt; color: #424542">"

Error Message selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="T1"]"} (Session info: chrome=84.0.4147.135)

Maybe try waiting for the website to load. The code below is taken from the selenium python docs

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

driver = webdriver.Firefox()
driver.get("http://somedomain/url_that_delays_loading")
try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, "//*[@id="T1"]"))
    )
finally:
    driver.quit()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM