簡體   English   中英

無法在 Python 中使用 xpath 定位元素

[英]Unable to Locate element using xpath in Python

我是 Python 新手,我的代碼有問題。 我正在嘗試通過 xpath 使用 Selenium 進行網頁抓取,但是當我運行我的代碼時,它顯示了一個錯誤,例如"Unable to Locate element using: {"method":"xpath","selector":"//*[@id="T1"]"} 。嘗試使用 ID 和 Name 作為元素,但仍然無法正常工作。

這是我的代碼:

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)

來自站點檢查視圖的元素。

<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">"

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

也許嘗試等待網站加載。 下面的代碼取自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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM