[英]Python Selenium Not Able to Grab XPATH
最近,該站點的登錄名發生了變化,不再識別我的 Python 機器人。 具體來說,該問題似乎發生在無法選擇用戶名輸入文本框的登錄頁面上。 它的 id 是 'loginId' 並且正確的 XPATH 似乎是"//*[@name='loginId']"
我嘗試使用的線路(曾經工作的線路)是:
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@name='loginId']"))).send_keys(username)
我收到的錯誤消息清楚地表明它沒有找到元素並且正在超時:
File "C:\Users\Matt\Python3.9\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
我已經嘗試了在 Katalon Recorder 和 Selenium IDE 中找到的所有建議的名稱/路徑/ID。 這似乎不是 iFrame。 不知道發生了什么。
任何想法或輸入都會在這里有所幫助。 如果您可以查看它會有所幫助,上面提供了鏈接。 先感謝您!
補充代碼 [編輯 07/05/2022]:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
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.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
driver = webdriver.Chrome('C:\\Users\\Matt\\Documents\\Splitt\\Chromedriver\\chromedriver.exe', options=options)
driver.get("https://www.stellarmls.com/")
driver.maximize_window()
WebDriverWait(driver, 6).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="login-form-row"]/form/div/div[3]/div/a'))).click()
driver.find_element(By.ID, "loginId").send_keys('username')
我沒有使用您的代碼,而是將您的網站插入到我擁有的 Selenium 腳本中,並且它可以正常工作:
driver.find_element(By.NAME, "loginId").send_keys(username)
它在沒有顯式等待的情況下基本上做同樣的事情。 它丟失的事實似乎不是問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.