我正在嘗試輸入一個電子郵件地址來測驗登錄,但我仍然收到此錯誤:no such element: Unable to locate element:
我嘗試使用相對和絕對Xpath并收到相同的錯誤訊息。
請原諒我,因為我肯定錯過了一些簡單的、非常新的東西!
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
import time
driver = webdriver.Chrome()
url = 'https://soundcloud.com/signin'
driver.get(url)
time.sleep(2)
driver.find_element_by_xpath('//*[@id="sign_in_up_email"]').send_keys('[email protected]')
uj5u.com熱心網友回復:
其拋出錯誤的原因是該元素sign_in_up_email存在于 iframe
參考影像中
檢查此處的鏈接以獲取有關如何切換到 iframe 的詳細資訊
您首先需要切換到 iframe,然后在輸入中輸入值
注意:- 當您第一次打開頁面時,您可能會看到accept cookiessoundcloud 的彈出視窗,您必須接受
您的解決方案看起來像
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
import time
driver = webdriver.Chrome()
url = 'https://soundcloud.com/signin'
driver.get(url)
driver.maximize_window()
time.sleep(2)
# Accept cookie
driver.find_element_by_id('onetrust-accept-btn-handler').click()
# Switch to frame
driver.switch_to.frame(driver.find_element_by_class_name("webAuthContainer__iframe"))
driver.find_element_by_xpath('//*[@id="sign_in_up_email"]').send_keys('[email protected]')
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/480841.html
