Синтаксическая ошибка "selenium webdriverwait class" есть ли проблемы в этом коде? - PullRequest
0 голосов
/ 13 мая 2019

Я планирую автоматизировать ответы WhatsApp с селеном, поэтому я использовал класс webdriver и создал объект. При компиляции он показывает синтаксическую ошибку. Хотя я проверил, что это правильно.

Я попытался импортировать все классы, связанные с webdriver, иначе я бы пропустил некоторые.

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time

target=str(input("Enter the contact name: "))
string = str(input('Enter your message: '))
n = int(input('spam count: '))

browser = webdriver.Firefox()
browser.get("https://web.whatsapp.com/")
print("Scan the QR code with your android mobile from whatsapp")
time.sleep(60)

x_arg = '//span[contains(@title, '+ '"' +target + '"'+ ')]'
print(x_arg)
WebDriverWait wait = new WebDriverWait(driver,30);*//Error line*
person_title = wait.until(EC.presence_of_element_located((By.XPATH, x_arg)))
print(person_title)
person_title.click()
inp_xpath = '//div[@class="_2S1VP copyable-text selectable-text"]'
input_box = wait.until(EC.presence_of_element_located((By.XPATH, inp_xpath)))

for i in range(n):
    input_box.send_keys(string + Keys.ENTER)
time.sleep(1)

Файл "bot.py", строка 19 WebDriverWait wait = новый WebDriverWait (драйвер, 30);

Ответы [ 2 ]

1 голос
/ 13 мая 2019

WebDriverWait wait = new WebDriverWait(driver, 30); - это синтаксис Java, а не Python.

Python не использует объявление типа, не использует new для объектов и не использует ; в конце строки.

Это должно быть

wait = WebDriverWait(driver, 30)
0 голосов
/ 13 мая 2019

У вас есть двоеточие (";") в конце строки.Нет необходимости в Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...