一尘不染

在Python中将Angular JS(量角器)与Selenium一起使用

selenium

我正在尝试使用 selenium* 选择包裹在 angular 1中 的textarea
,但是在DOM中看不到。有一个名为Pytractor的模块。我一直在尝试解决此问题,但是我无法正确使用它。
*

谁能帮我这个?


阅读 438

收藏
2020-06-26

共1个答案

一尘不染

您还可以使用常规的硒绑定来测试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")))

pytractorprotractor本身)提供了一件重要的事情-它知道何时AngularJS结算和准备就绪-
模型已更新,没有未完成的异步请求等。这并不意味着您必须使用它来测试AngularJS应用程序,但是它为您提供了一个优势。

此外,pytractor还为您提供了新的定位器,例如,您可以按模型或绑定查找元素。这也不意味着您无法使用常规的selenium
python提供的开箱
即用的其他定位技术来找到相同的元素。

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

2020-06-26