【发布时间】:2017-11-20 13:09:49
【问题描述】:
我想在 selenium 中循环一个函数。
所以只要网页上的DisplayName不是“fish”,我想让程序输入“fish”并按回车,直到显示名称为“fish”,然后我希望程序停止。
目前,程序继续运行并输入“fishfishfishfishfish”作为显示名称。
DisplayName = driver.find_element_by_xpath("""//*[@id="DisplayName"]""")
while (DisplayName != "fish"):
DisplayName.send_keys("fish"")
DisplayName.send_keys(u'\ue007')
【问题讨论】:
-
您不会在 while 循环中刷新
DisplayName中的值。输入“fish”后,获取该字段的新值,以便 while 循环有一些新的东西可以测试。 -
4 个问题。 1)
DisplayName on the web page to be "fish"的标准是什么? 2)为此我们需要做什么? 3) 您是否尝试在同一元素或其他元素中输入“鱼”? 4) 按Enter是否会将DisplayName 更改为"fish"? -
同一个元素。按下回车确实会将 DisplayName 更改为“fish”。首先,一旦发送键,元素就会被填充,然后按下回车键保存它,但是程序会继续运行,每次它已经填充时都会输入一条额外的鱼。我只想知道如何检查元素是否 == 某个字符串,以便它做某事(在这种情况下,停止。)
-
DisplayName是元素,而不是文本。如果是INPUT标签,则使用DisplayName.text或DisplayName.get_atttribute("value")等。
标签: python selenium selenium-webdriver selenium-chromedriver