簡體   English   中英

Python Selenium 無法獲取 XPATH

[英]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.

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