硒在表单中按下按钮

2024-10-06 12:31:00 发布

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

Python:3.4.1 浏览器:Chrome

我试图按下一个按钮,它位于使用Selenium和Python的表单中。我对Selenium和HTML还比较陌生。在

HTML代码如下:

<FORM id='QLf_437222' method='POST' action='xxxx'>
    <script>document.write("<a href='javascript:void(0);' onclick='document.getElementById(\"QLf_437222\").submit();' title='xxx'>51530119</a>");</script>
    <noscript><INPUT type='SUBMIT' value='51530119' title='xxx' name='xxxx'></noscript>                             
    <INPUT type=hidden name="prodType" value="DDA"/>
    <INPUT type=hidden name="BlitzToken" value="BlitzToken"/>
    <INPUT type=hidden name="productInfo" value="40050951530119"/>
    <INPUT type=hidden name="reDirectionURL" value="xxx"/>          
</FORM>

我一直在尝试以下方法:

^{pr2}$

Python不会抛出异常,所以看起来好像我在单击某个东西,但它不能执行我想要的操作。在

除此之外,当chrome驱动程序从Selenium初始化时,该网页的行为很有趣。当单击初始化的chrome驱动程序中的按钮时,网页会抛出一个错误(888)。在

我不知道从这里到哪里去。可能是有隐藏元素的东西吗?在

如果我能提供更多的信息,请告诉我。在

编辑:

看起来表单id有时会更改。在


Tags: nameformid表单inputvaluehtmltype
1条回答
网友
1楼 · 发布于 2024-10-06 12:31:00

听起来你想做的是提交表格,对吧?在

您指出的<a>只是提交了该表单。因为它是通过JavaScript注入的,所以当您尝试单击它时,它可能没有显示出来。我的建议是:

driver.find_element_by_css_selector("form[id^='QLf']").submit()

这样可以避免按钮,并提交适当的表单。在

中,这意味着在后面自动生成的选择器。在

相关问题 更多 >