Python selenium发送单击输入按钮

2024-06-06 12:20:35 发布

您现在位置:Python中文网/ 问答频道 /正文

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

<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()

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

有什么建议可以解决吗


Tags: textbyseleniumareaelementfind按钮class
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")

对于submit按钮,我猜您的xpath太通用了,它提取了另一个具有相同类的按钮。试着打印提取的按钮,看看它是否是您想要的第一个,因为您的代码点击似乎很好

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

是这样吗?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()

相关问题 更多 >