![](/img/trans.png)
[英]TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message:
[英]Python selenium : TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message:
我在使用 selenium 和 Python 时遇到此错误,不知道如何修复它,我尝试使用 Chrome在此处输入图像描述和 Firefox,以及同样的事情: 回溯(最后一次调用):文件“C:/python/bot_test/fast_buy_FF.py”,第 56 行,在结帐 = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "turbo-checkout -pyo-button"))) 文件“C:\Users\basheer.kafaf\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\support\wait.py”,第 80 行,在直到引发 TimeoutException(消息,屏幕,堆栈跟踪)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()
发生这种情况是因为打开了一个新框架,我需要切换到新框架。
所以我添加了下面的代码来切换到新框架。
driver.switch_to.frame(WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "iframe"))))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.