I will test a web-app. there is a button available in my table to select all entries.
I've tried:
driver.wait.until(ExpectedCondition.element_to_be_clickable((By.XPATH, "myXpath"))).click()
selenium clicks on the button, but nothing happens. (also with send_Keys(Keys.Return)) the application is developed with GXT, I thing that there is much javascript behind the button. Is there is possibility to wait until a eventloader is ready? waiting before a click solves the problem, but not a solution for automated testing.
解决方案
Correct syntax for explicit wait in python is :
element = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.ID, "myElement")))
Better that After above you do :
element.click();
So in your case :
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
element = WebDriverWait(driver, 20).until(
EC.element_to_be_clickable((By.XPATH, "myXpath")))
element.click();
Better you follow it. Also share your whole code so I can correct it. Your just 1 line code doing little confuse.
在自动化测试中,遇到使用Selenium点击网页按钮无反应的问题。问题可能由于JavaScript导致。解决方案是使用显式等待,确保元素可点击后再进行点击操作。正确代码示例:导入相关模块,设置显式等待,等待元素可点击,然后执行点击。分享完整代码以便进一步分析和修正。


被折叠的 条评论
为什么被折叠?



