我正在使用selenium执行点击链接:
<form method="post" action="example.com" id="form1">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<a href="javascript:__doPostBack('gvOnLineUser','KickOut$0')">click Me</a>
</form>
因此,当您点击该链接时,它会执行javascript snippet
:
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
首先,我尝试通过点击提交它:
el = browser.find_element_by_xpath("//form[@id='form1']/a").click()
但这并没有像我预期的那样执行,这意味着它没有提交表格。
然后我尝试模拟帖子请求,但似乎selenium
没有提供post
方法。
最后我尝试使用submit()
方法,但是如何更改这两个隐藏元素值的值呢?