首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Selenium webdriverwait:__init__()恰好接受2个参数(给定3个)

Selenium webdriverwait:__init__()恰好接受2个参数(给定3个)
EN

Stack Overflow用户
提问于 2016-09-22 18:11:32
回答 1查看 1.8K关注 0票数 1

给出的错误为

代码语言:javascript
复制
Traceback (most recent call last):
  File "p3.py", line 21, in <module>
    WebDriverWait(driver, timex).until(EC.presence_of_element_located(by, element))
TypeError: __init__() takes exactly 2 arguments (3 given)

我没有使用过__init__(),为什么会出现这个错误?

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time

chrome_path=r"C:\Users\Bhanwar\Desktop\New folder (2)\chromedriver.exe"
driver =webdriver.Chrome(chrome_path)
driver.get("https://priceraja.com/mobile/pricelist/samsung-mobile-price-list-in-india")
#driver.implicitly_wait(10)
i=0
timex = 5
by = By.ID
hook = "product-itmes-"  # The id of one item, they seems to be this plus 
                         # the number item that they are
button = '.loadmore'
while i<3:
    element_number = 25*i
    element=hook+str(element_number)# It looks like there are 25 items added each time, and starts at 25
    WebDriverWait(driver, timex).until(EC.presence_of_element_located(by, element))
    driver.find_element_by_css_selector(button).click()
    time.sleep(5)  # Makes the page wait for the element to change
    i+=1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-22 18:19:08

presence_of_element_located()只有一个参数,一个定位器,它是一个元组。您忘记在调用中添加元组所需的(...)括号:

代码语言:javascript
复制
WebDriverWait(driver, timex).until(
    EC.presence_of_element_located((by, element)))
#          these make this a tuple ^ and       ^
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39636236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档