Python 3.x 如何让selenium等待特定的标记出现
我正在上传一张图片,我用time.sleep(3)让它完成上传。但有时3秒钟是不够的。我不确定代码应该是什么样子,以使slenium检查特定的标记,然后继续执行某些操作Python 3.x 如何让selenium等待特定的标记出现,python-3.x,selenium,Python 3.x,Selenium,我正在上传一张图片,我用time.sleep(3)让它完成上传。但有时3秒钟是不够的。我不确定代码应该是什么样子,以使slenium检查特定的标记,然后继续执行某些操作 #input image path try: element = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, "/html/body/table[2]/tbody/tr[2]/td/h5/
#input image path
try:
element = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, "/html/body/table[2]/tbody/tr[2]/td/h5/ul/li[1]/div[2]/ul/li/form[1]/input[5]")))
element.send_keys('C:\\1.png')
print("Add actionImageURL 1: " + str(element.get_attribute('value')))
except Exception:
print("actionImageURL 1 Path Failed")
#click upload button
try:
element = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, "/html/body/table[2]/tbody/tr[2]/td/h5/ul/li[1]/div[2]/ul/li/form[1]/input[6]")))
element.click()
print("actionImageURL 1 Uploading...")
#maybe here is where i can do find for the tag and do a loop wait?
images = driver.find_elements_by_class_name('img-thumbnail ng-hide')
previewlink = images.get_attribute('src')
print(previewlink)
if preview == 't.notInPlaceActionImageURL_preview':
print('Link: ' + print(previewlink))
time.sleep(3)
print("actionImageURL 1 Uploaded")
except Exception:
print("actionImageURL 1 Upload Button NOT FOUND")
我不知道如何处理像这样的html标签,请参见图像上传前后:
之前:
之后:
隐式可能会解决我的问题,但我希望解决标记的问题,以及如何处理这样的标记。谢谢如果您将一个方法编码为wait,那么您可以在项目中使用该wait方法
private static WebElement waitForElement(By locator, int timeout)
{
WebElement element=new WebDriverWait(driver,timeout).until(ExpectedConditions.presenceOfElementLocated(locator));
return element;
}
上面的代码是wait方法
如果你想用这个方法
waitForElement(By.xpath(//button[@type='submit']),50)代码>
例如,您可以在此处使用web元素我可以看到您已经在使用位于((By.XPATH,))的元素的EC.visibility。当对所需的标记使用相同的技术时,您会遇到什么问题。@rahulrai EC.visibility_of_element_located((By.XPATH,))不是问题,问题出现在第二个EC.visibility_of_element_located((By.XPATH,))之后。在打印(“actionImageURL 1上传…”)之后
什么是上传图像,但是有一个上传时间。我的python下一步将跳出导致上载失败的页面,因为它仍在上载图像。我对python还是相当陌生,但我认为您的示例是针对Java的?我尝试使用webdriverwait,我想这就是你的意思:请查看我的更新代码,我的错误可能是我的类名是wong?