我想在使用PythonSelenium AngularJS中测试页面。它包含一个选择选项,我尝试了许多选项来选择它,但是失败了。



<select id="xtzpp001" ng-model="..." ng-options="...." ng-change="changeView()">
  <option value class>select</option>
  <option value="200" selected="selected">Student 1</option>
  <option value="201">Student 2</option>
  <option value="202">Student 3</option>
</select>





正如我所说,我曾尝试过-

driver.find_element_by_xpath('//select[@id="xtzpp001"]/option[contains(text(), "Student 2")]').click()


然后

from selenium.webdriver.support.ui import Select

select = Select(driver.find_element_by_id('xtzpp001'))
for i in select.options:
   .......etc etc


我也使用显式等待。

我知道在这种情况下pytractor可以帮助我(尽管没有得到积极开发),但是我找不到使用pytractor的关于select选项的任何文档。

还有其他方法可以实现吗?或pytractor等效?

或者我可以从此阶段开始使用量角器(或任何JavaScript框架)继续在Javascript中进行测试,并在Python中集成/回调结果?

最佳答案

您还可以使用操作单击菜单项,这是一个示例:

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")

ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()

10-05 23:26