首页 > 解决方案 > 我的硒不断出现错误“无法找到元素:”。Python

问题描述

我的硒不断出现错误“无法找到元素:”。它是 python,所以如果有人可以帮助我,那就太棒了。我已经尝试过给它很多时间,而不仅仅是睡 3 点,这似乎是问题。错误就在这里 woopass=driver.find_element_by_id("turbo-checkout-pyo-button")

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
import time
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver =webdriver.Chrome(PATH)
#start

driver.get("https://www.amazon.com/ap/signin?openid.pape.max_auth_age=0&openid.return_to=https%3A%2F%2Fwww.amazon.com%2Fref%3Dnav_signin&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.assoc_handle=usflex&openid.mode=checkid_setup&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&")


username=driver.find_element_by_name("email")
username.send_keys("*********")
continuebutton=driver.find_element_by_id("continue")
continuebutton.click()
passwordenter=driver.find_element_by_name("password")
passwordenter.send_keys("*******")
signInSubmit=driver.find_element_by_id("signInSubmit")
signInSubmit.click()
#garbage

time.sleep(1)
driver.get("https://www.amazon.com/Monster-Energy-Sugar-Drink-Watermelon/dp/B08JNWFT52/ref=sr_1_2?dchild=1&keywords=watermelon&qid=1614867030&sr=8-2")

trube=False
while not trube:
    try:
        stuff=driver.find_element_by_id("outOfStock")
        print("working")
        time.sleep(1)
        driver.refresh()
        
        
    except:
        pressingbutton=WebDriverWait(driver,.0000000000000000000000000000000001).until(EC.presence_of_element_located((By.ID,"buy-now-button")))
        
        pressingbutton.click()


            
        
        time.sleep(3)
        #error right here woopass=driver.find_element_by_id("turbo-checkout-pyo-button")
        #Ive already tried giving it time like a lot of time not just sleeping for 3
        #I dont know why I get this error Unable to locate element:
        #PROBLEM CODE
        #VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
        woopass=driver.find_element_by_id("turbo-checkout-pyo-button")
        #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        
        woopass.click()
    
        trube=True
        
        



        

        
print ("Done")
driver.quit()

这就是我拉它的地方

<input id="turbo-checkout-pyo-button" data-testid="" class="a-button-input" type="submit" value="Place your order" aria-labelledby="turbo-checkout-place-order-button-announce"> ```

标签: pythonseleniumselenium-webdriverselenium-chromedriver

解决方案


driver.switch_to.frame(driver.find_element_by_id("turbo-checkout-iframe")) 这是一个 iframe 我很抱歉感谢所有贡献的人。@DMart


推荐阅读