首页 > 解决方案 > Python 和 selenium 语法无效

问题描述

当我输入它时,它会invalid syntaxend.click. 和webdriverwait wait

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 
import random as r
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

driver = webdriver.Chrome()
nt = "Enter Name: "
np = "Enter Password: "
driver.maximize_window()

driver.get("https://www.delugerpg.com/login")
time.sleep(1)
login = driver.find_element_by_name("username")
login.send_keys(nt)
login = driver.find_element_by_name("password")
login.send_keys(np)
login.send_keys(Keys.RETURN)
time.sleep(1)

driver.get("https://www.delugerpg.com/battle/gym/108")
found = True
while found == True:
        link = driver.find_element_by_class_name("btn-battle-action")
        link.click()
        print("Starting Battle")
        time.sleep(1)
        attack1 = driver.find_element_by_class_name("btn-battle-action")
        attack1.click()
        print("Take this")
        time.sleep(1)
        link1 = driver.find_element_by_class_name("btn-battle-action")
        link1.click
        WebDriverWait wait = new WebDriverWait(driver,1)
        end = wait.until(EC.presence_of_elements_located(("Class","btn.battle-default"))
        end.click()


标签: pythonselenium

解决方案


1.你的缩进错误

new2.你在和之间缺少一个空格WebDriverWait

3.你不应该;的时候有一个分号WebDriverWait

4.你在行``尾有 2 个反引号attack1

5.WebDriverWaitwait应该是WebDriverWait wait,你少了一个括号

6.如果你定义了wait你需要在它wait下面的实际调用中使用它的变量,不要WebDriverWait再次调用

7.如果有多个或单个元素,您presence_Of_Elements_Located应该是presence_of_elements_locatedpresence_of_element_located

while found == True:
        link = driver.find_element_by_class_name("btn-battle-action")
        link.click()
        print("Starting Battle")
        time.sleep(1)
        attack1 = driver.find_element_by_class_name("btn-battle-action")
        attack1.click()
        print("Take this")
        time.sleep(1)
        link1 = driver.find_element_by_class_name("btn-battle-action")
        link1.click()
        WebDriverWait wait = new WebDriverWait(driver,1)
        end = wait.until(EC.presence_of_elements_located(("Class","btn.battle-default")))
        end.click()

如果这不能解决问题,我们将需要查看更多您的代码


推荐阅读