在Python中使用Angular JS(Protractor)和Selenium

Qu3*_*in0 5 python selenium angularjs selenium-webdriver protractor

我正在尝试使用selenium选择包含角度1的textarea ,但是在DOM中无法看到它.有一个名为Pytractor的模块.我一直试图解决这个问题,但我无法正确使用它.

谁能帮我这个?

ale*_*cxe 10

您还可以使用常规的selenium绑定来测试AngularJS应用程序.您需要使用显式等待来等待元素出现,消失,标题/ URL更改等 - 对于任何可以让您继续测试页面的操作.

示例(等待textarea元素出现):

from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.TAG_NAME, "myaccount")))
Run Code Online (Sandbox Code Playgroud)

有一个重要的事情pytractor(就像protractor它自己)提供的 - 它知道什么时候AngularJS结算并准备就绪 - 模型被更新,没有未完成的异步请求等.这并不意味着你必须用它来测试AngularJS应用程序,但它给你一个优势.

此外,pytractor为您提供新的定位器,例如,您可以按模型或绑定找到元素.它也不意味着你不能使用常规selenium python开箱即用的其他定位技术找到相同的元素.

请注意,pytractor目前尚未积极开发和维护.