我在Python中使用selenium时遇到了这个错误,我不确定如何修复它,我尝试了Chromeenter image description here和Firefox,同样的事情:
回溯(最近一次调用):文件"C:/python/bot_test/fast_buy_FF.py",第56行,in checkout = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.ID,“turbo-checkout-pyo- "C:\Users\basheer.kafaf\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\support\wait.py",”)文件检查行80,in直到提升消息(TimeoutException,screen,堆栈跟踪) selenium.common.exceptions.TimeoutException:消息:
代码:
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
from playsound import playsound
# PATH = 'chromedriver.exe'
driver = webdriver.Firefox()
Max_price = 800
Item_code = 'B08N5D31XF'
Item_http_offer_page = 'https://www.amazon.com/dp/{}?smid=ATVPDKIKX0DER&tag=data20-20#aod'.format(Item_code)
Item_http_Product_page = 'https://www.amazon.com/gp/product/{}?tag=ns0ec-20'.format(Item_code)
log_in_email = "XXXXXXXXXXX"
passward = "XXXXXXXXXX"
driver.get("https://www.amazon.com/ref=nav_logo")
sgin_in = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "nav-signin-tooltip")))
sgin_in.click()
ap_email = WebDriverWait(driver, 2).until(EC.presence_of_element_located((By.ID, "ap_email")))
ap_email.send_keys(log_in_email)
search1 = driver.find_element_by_id("continue")
search1.click()
ap_password = WebDriverWait(driver, 2).until(EC.presence_of_element_located((By.ID, "ap_password")))
ap_password.send_keys(passward)
search2 = driver.find_element_by_id("signInSubmit")
search2.click()
time.sleep(1)
New_tab = driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
driver.get(Item_http_Product_page)
Looper = True
while Looper:
# try:
buybox = WebDriverWait(driver, 2).until(EC.presence_of_element_located((By.ID, "price_inside_buybox")))
print (buybox.text)
item_price = int(float(buybox.text.replace(',', '').replace('$','')))
print (item_price)
if item_price < Max_price:
# playsound('bells.mp3')
buy_now= WebDriverWait(driver, 4).until(EC.presence_of_element_located((By.ID, "buy-now-button")))
buy_now.click()
checkout = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "turbo-checkout-pyo-button")))
checkout.click()
Looper = False
# except:
# print('No buy now available yet ')
# time.sleep(1)
# driver.refresh()
发布于 2021-03-04 05:06:23
这是因为一个新的框架打开了,我需要切换到新的框架。
所以我添加了下面的代码来切换到新的框架。
驱动程序(WebDriverWait(driver,10).until(EC.presence_of_element_located((By.ID,“iframe”)
https://stackoverflow.com/questions/66459959
复制相似问题