【问题标题】:python selenium loop through text boxpython selenium 循环遍历文本框
【发布时间】:2020-01-06 20:25:56
【问题描述】:

我正在寻找遍历这些整数,将每个整数输入到网络浏览器文本框中。我已经设置了 python 代码来打开 chrome,导航到该站点,登录,然后导航到文本框(不幸的是它正在工作 - 我可以在明天早上重新附加它),但是我如何让它接受第一个用户从下面输入,将其输入到文本框中 - 让我们假装它的find_element_by_id('thetextbox') - 我会让它在这里按下页面底部的输入按钮,但然后导航回与以前相同的文本框并输入第二个用户输入?那么它怎么知道在输入多少整数时停止呢?

对不起,如果有点混乱,我真的应该把代码发给自己:(

x = raw_input("Enter list of integers separated by a space:")
integers = [int(i) for i in x.split()]

【问题讨论】:

  • 你也可以使用类名,如果它是唯一的,或者你可以输入任何静态类,然后尝试使用 selenium.getAttribute(//xpath@class);可能有帮助
  • 正如你所说,你需要一个循环。在 integers 数组上使用 for 循环是一个不错的起点。

标签: python selenium loops for-loop selenium-webdriver


【解决方案1】:

鉴于以上信息,您可以:

x = raw_input("Enter list of integers separated by a space:")
integers = [int(i) for i in x.split()]

for i in integers:
  driver.find_element_by_id('thetextbox').send_keys(i)

【讨论】:

    【解决方案2】:

    使用 selenium 文档中的代码示例:

    您可能需要围绕 get、find 和 send_keys 方法进行循环。

        from selenium import webdriver
        from selenium.webdriver.common.keys import Keys
    
        driver = webdriver.Firefox()
        x = raw_input("Enter list of integers separated by a space:")
        for i in input.split():
            driver.get("http://www.python.org")
            assert "Python" in driver.title
            elem = driver.find_element_by_name("q")
            elem.clear()
            elem.send_keys(i)
            elem.send_keys(Keys.RETURN)
       driver.close()
    

    【讨论】:

      猜你喜欢
      • 2011-06-19
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-17
      • 2011-10-19
      相关资源
      最近更新 更多