#python #python-3.x #selenium #selenium-webdriver #selenium-chromedriver
#python #python-3.x #селен #selenium-webdriver #selenium-chromedriver
Вопрос:
Я пытаюсь запрограммировать скриббл.взлом ввода-вывода. Skribblio — это веб-сайт, на котором вы что-то рисуете, а люди должны угадать, что вы нарисовали. Мне нужно, чтобы бот подождал, пока панель инструментов рисования не появится и не будет доступна для взаимодействия, прежде чем пытаться что-либо нарисовать. Я пытаюсь использовать этот код для этого:
Class Drawing:
#some other code
def response(self):
try:
self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".containerToolbar[style]")))
finally:
return 'found'
D = Drawing()
while True:
if D.response() == 'found':
print('got good response')
break
однако найденный возвращается, как только я вхожу в лобби перед игрой. Игра даже не началась, а это уже возвращено. Вероятно, стоит упомянуть, что рисунок tooblbar выглядит так, когда он невидим:
<div class="containerToolbar" style="display: none;">
и вот так, когда она видна:
<div class="containerToolbar" style>
Если кто-то может провести некоторое исследование самостоятельно, создав приватную игру и присоединившись к ней на другой вкладке, это было бы очень полезно.
Ответ №1:
WebElement Desired_element = driver.findElement(By.xpath("your xpath")); WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.elementToBe Clickable/visible/enable(Desired_element )); Desired_element.click;
вам нужно попробовать аналогичную вещь в python