- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
给出错误为
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__()
为什么会出现这个错误?
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
最佳答案
presence_of_element_located()
只接受一个参数,一个定位器,它是一个元组。您忘记在调用中添加元组所需的 (...)
括号:
WebDriverWait(driver, timex).until(
EC.presence_of_element_located((by, element)))
# these make this a tuple ^ and ^
关于python - Selenium webdriverwait : __init__() takes exactly 2 arguments (3 given),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39636236/
代码提案: 收集页面上当前所有游戏的链接 (https://int.soccerway.com/matches/2021/07/28/),让我可以自由地将日期更改为我想要的任何内容,例如 2021/0
我正在使用 Selenium 来抓取一些数据。 我点击的页面上有一个按钮说“custom_cols”。此按钮为我打开一个窗口,我可以在其中选择我的列。 这个新窗口有时需要一些时间才能打开(大约 5 秒
创建激活码后,需要 1-60 秒的时间将代码上传到系统中。因此,在创建新代码后,我想使用 WebDriverWait 60 秒来确保在这段时间内每 3 秒我想单击“搜索”按钮。有什么办法可以做到这一点
看来我的代码是正确的,但没有按预期工作,Webdriver 并没有真正在我的代码中工作。我希望在返回上一页之前先加载该页面。下面是我的代码。 Browser.clickElement(MenuButt
我创建了代码: new WebDriverWait(driver,100).until( new ExpectedCondition(){ @Override
我使用 Python/Selenium 提交表单,然后让 Web 驱动程序使用类 ID 使用预期条件等待下一页加载。 我的问题是有两个页面可以显示,但它们不共享原始页面中不存在的唯一元素(我可以找到)
我正在使用 Windows 8、IE 10 (java - WebDriver 2.37.0),并且我正在尝试等待该元素加载到页面上。我使用了以下代码: WebDriver driver = new
我试图让我的代码在尝试从元素中获取文本之前等待元素出现。如果我逐步执行允许元素时间出现的代码,它会按预期工作,但如果我在没有断点的情况下运行它,等待似乎被忽略并引发异常。 我不明白为什么它被忽略了?
我使用的是最新的 Chrome 和 Webdriver 2.33,但在使用 IgnoreExceptionTypes 时遇到了一些问题。在下面的代码中,webdriver 也会像我预期的那样等待,但它
我正在使用 Selenium WebDriver 运行测试,如果用户没有访问权限,则页面上不存在 div。我正在尝试等待,以便在显示该项目时返回 true,但如果达到超时则返回 false。
使用 python,WebDriverWait 方法用于等待 1 个元素出现在网页上。 如何在没有多次尝试/除外的情况下使用此方法? 使用此方法是否有多个案例的 OR 选项? https://sele
我正在使用 Selenium 3.4 和 Java。我正在测试一个速度不是很快的 UI,并使用隐式等待,这样我就不必在每次加载需要几秒钟的时间时手动显式等待。 但是,有时我无论如何都需要明确的等待。为
我正在使用 Selenium 定位元素并用文本填充它。当我浏览到我的 URL 时,首先会显示一个文本框来加载页面。加载应用程序后,将显示登录用户名/密码。我只想等到显示登录用户名/密码以避免 NoSu
我正在尝试通过检查页面标题是否包含这样的“第 1 页”来实现等待 try: WebDriverWait(driver, 10).until(EC.title_contains("Page 1"
希望有人能帮忙解决这个问题。问题是 org.openqa.selenium.WebDriverException: unknown error: Element is not clickable at
我使用 selendroid 来测试混合应用程序。我有自己的记录器,可以记录并使用 WebDriverWait 来等待特定行为。我的问题是如何在 WebDriverWait 失败并抛出 timeout
我用 Selenium 构建了一个拍卖监视器,自从我开始使用它以来,它工作得非常完美。它的工作方式是,它会访问特性拍卖网站并监控拍卖价格(非常简单),并通过ANY价格变化的文本来提醒我。它查看的价格各
我正在使用通过框架 (Cucumber) 实现的 Selenium WebDriver,我遇到了一个问题,即在对元素执行操作之前等待元素加载。 最初,我想使用隐式等待,但如果一个元素没有立即加载,它就
这是我的代码: def CheckQueue(driver): qdone = False qID_xpath_start = "/html/body/div[5]/form/tabl
我有一个页面对象,它与 DOM 上的几个元素交互。如果我在我的页面对象初始化中创建一个 WebDriverWait 对象作为实例成员,我可以将它用于所有等待吗? 或者如果我想等待两个单独的元素,最好有
我是一名优秀的程序员,十分优秀!