Python 硒 NoSuchElementException
Python Selenium NoSuchElementException
我有以下代码:
browser.find_element_by_css_selector('#bet').send_keys(2500)
time.sleep(2)
x = 0
while x < 100:
browser.find_element_by_css_selector('#start_game').click()
time.sleep(3)
browser.find_element_by_css_selector('li.tile:nth-child('+str(random.randint(1, 25))+')').click()
time.sleep(2)
browser.find_element_by_css_selector('li.tile:nth-child('+str(random.randint(1, 25))+')').click()
time.sleep(2)
browser.find_element_by_css_selector('li.tile:nth-child('+str(random.randint(1, 25))+')').click()
time.sleep(5)
try:
browser.find_element_by_css_selector('.cashout').click()
except NoSuchElementException:
browser.find_element_by_css_selector('#start_game').click()
time.sleep(10)
x = x+1
好吧,我的代码用比特币玩扫雷游戏。一切都很好,他下注,开始游戏随机点击 3 个框。当他成功点击 3 个盒子并且没有炸弹时,提款按钮出现,但是当脚本点击炸弹时,提款按钮没有出现,我得到 nosuchelement。
我试过使用:
try:
browser.find_element_by_css_selector('.cashout').click()
except NoSuchElementException:
browser.find_element_by_css_selector('#start_game').click()
万一他点击了炸弹并且提款似乎没有开始新游戏...但它没有用。有人可以帮助我吗?
您确实需要切换到 Explicit Waits 而不是硬编码睡眠调用。
等待 cashout
元素 可见 ,然后单击:
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.common.exceptions import TimeoutException
try:
element = WebDriverWait(browser, 10).until(
EC.visibility_of_element_located((By.CSS_SELECTOR, ".cashout"))
)
element.click()
except TimeoutException:
browser.find_element_by_css_selector('#start_game').click()
我有以下代码:
browser.find_element_by_css_selector('#bet').send_keys(2500)
time.sleep(2)
x = 0
while x < 100:
browser.find_element_by_css_selector('#start_game').click()
time.sleep(3)
browser.find_element_by_css_selector('li.tile:nth-child('+str(random.randint(1, 25))+')').click()
time.sleep(2)
browser.find_element_by_css_selector('li.tile:nth-child('+str(random.randint(1, 25))+')').click()
time.sleep(2)
browser.find_element_by_css_selector('li.tile:nth-child('+str(random.randint(1, 25))+')').click()
time.sleep(5)
try:
browser.find_element_by_css_selector('.cashout').click()
except NoSuchElementException:
browser.find_element_by_css_selector('#start_game').click()
time.sleep(10)
x = x+1
好吧,我的代码用比特币玩扫雷游戏。一切都很好,他下注,开始游戏随机点击 3 个框。当他成功点击 3 个盒子并且没有炸弹时,提款按钮出现,但是当脚本点击炸弹时,提款按钮没有出现,我得到 nosuchelement。
我试过使用:
try:
browser.find_element_by_css_selector('.cashout').click()
except NoSuchElementException:
browser.find_element_by_css_selector('#start_game').click()
万一他点击了炸弹并且提款似乎没有开始新游戏...但它没有用。有人可以帮助我吗?
您确实需要切换到 Explicit Waits 而不是硬编码睡眠调用。
等待 cashout
元素 可见 ,然后单击:
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.common.exceptions import TimeoutException
try:
element = WebDriverWait(browser, 10).until(
EC.visibility_of_element_located((By.CSS_SELECTOR, ".cashout"))
)
element.click()
except TimeoutException:
browser.find_element_by_css_selector('#start_game').click()