Как добавить повторяющиеся ответы на веб-страницу, используя селен? - PullRequest
2 голосов
/ 06 апреля 2020

Я пытаюсь добавить повторяющийся текстовый ответ в окно чата на игровом веб-сайте, чтобы создать алгоритм, который угадывает слова на основе рисунка и подсказки.

Этот веб-сайт является популярным веб-сайтом pictionary: https://skribbl.io/

Я работаю над алгоритмом угадывания слов на основе ответа других, я не знаком с Selenium и пытаюсь просто напечатать какой-нибудь простой текст в текстовом поле chat / догадка.

Сайт открывается, но ничего не печатает на коробке. Как я могу решить это? Спасибо

from selenium import webdriver
from selenium.webdriver.support import ui
from selenium.webdriver.common.keys import Keys

def page_is_loaded(driver):
    return  driver.find_element_by_tag_name("body")!=None

driver = webdriver.Firefox(executable_path = 'C:\Program Files\gecko\geckodriver.exe')
driver.get("https://skribbl.io/?p0YRvXqupiza")

wait = ui.WebDriverWait(driver,10)
wait.util(page_is_loaded)

for x in range (0,20):

    textbox = driver.find_element_by_name("text")
    textbox.send_keys("1")

Так выглядит домашняя страница Skribbl.io - https://i.imgur.com/Udth9vs.jpg

enter image description here

Текстовое поле видно внизу справа, где я хочу, чтобы ввод моего кода можно было найти здесь - https://i.imgur.com/frMTFjJ.jpg

enter image description here

1 Ответ

1 голос
/ 06 апреля 2020

Попробуйте следующее

import time

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

firefox_browser = webdriver.Firefox(executable_path=r'C:\Program Files\gecko\geckodriver.exe')
firefox_browser.get("https://skribbl.io/")
time.sleep(2)
name_input = firefox_browser.find_element_by_css_selector("#inputName")
play_button = firefox_browser.find_element_by_css_selector("button.btn:nth-child(3)")
name_input.send_keys("Drums3")
play_button.send_keys(Keys.ENTER)

for x in range(0, 20):
    time.sleep(3)
    chat_input = firefox_browser.find_element_by_css_selector("#inputChat")
    chat_input.send_keys("hello")
    chat_input.send_keys(Keys.ENTER)
...