【问题标题】:Python selenium send click to input buttonPython selenium 发送点击输入按钮
【发布时间】:2020-10-27 00:32:17
【问题描述】:

我正在尝试使用python和selenium webdriver点击特定表单的提交按钮,下面是我要点击的元素的源代码:

<input type="submit" name="post" tabindex="5" value="Submit" class="btn btn-primary btn-xs btnmain" accesskey="s">

这是我用来点击它的python表达式:

text_area = wd.find_element_by_id('qreply')
text_area.send_keys("TEST STRING")
wd.find_element_by_xpath("//button[contains(@class,'btn btn-primary btn-xs btnmain')]").click()

问题是,由于某种原因,我的脚本似乎没有点击按钮并且没有发送信息。

有什么建议可以解决吗?

【问题讨论】:

    标签: python python-3.x selenium selenium-webdriver


    【解决方案1】:
    wd.find_element_by_xpath("//button[contains(@class,'btn btn-primary btn-xs btnmain')]").click()
    

    xpath 对吗?你的 html 说它是一个输入标签,而不是按钮。

    试试

    wd.find_element_by_xpath("//input[contains(@class,'btn btn-primary btn-xs btnmain')]").click()
    

    还可以考虑一个更好的 xpath,例如:

    wd.find_element_by_xpath("//input[@name='post']").click()
    

    【讨论】:

      【解决方案2】:

      发送密钥部分

      text_area = wd.find_element_by_id('qreply')
      text_area.click() # you need to click it before typing, just like how you would do it manually
      text_area.send_keys("TEST STRING")
      

      对于提交按钮,我猜你的 xpath 太通用了,以至于它提取了另一个具有相同类的按钮。尝试打印提取的按钮,看看它是否是您想要的第一个按钮,因为您的点击代码看起来不错。

      【讨论】:

      • 感谢文本区域提示,关于按钮,他是唯一使用该类的,我尝试按名称单击,但遇到了同样的错误。
      猜你喜欢
      • 2014-02-16
      • 2016-05-08
      • 2021-09-14
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      相关资源
      最近更新 更多