我正在尝试创建一个脚本,该脚本在网站上进行了注册,但由于某种原因,我无法使其点击免费注册»按钮。没有错误消息或任何东西。动画看起来好像已经单击了按钮,但是该站点不会加载下一页。
HTML源代码如下:https://i.imgur.com/PXKfWMD.png
<div class="main_full_container">
<div id="main" class="main_container content_container">
<div class="flex_container">
<main class="main_content">
<div>
<div>
<form method="post" action="" class="js-register_form">
<input type="hidden" name="register_auth" class="js-register_auth" value="99ce8">
<div>
<div class="login_row">
<div class="login_row__icon">
<svg class="ysvg" style="width: 60px; height:60px"><use xlink:href="/images/93636_0529/bg/icons/sprites/desktop/main/sprite.svg#letter"></use></svg>
</div>
<div class="login_row__text">
<div class="login_row__headline">
Sign up for free!
</div>
<div class="login_row__subheadline">
</div>
</div>
</div>
<div class="flex_row--centered">
<input type="hidden" name="action" value="register">
<a name="Email"></a>
<div class="register__container">
<div class="topmargin">
<label>
<div style="padding:0 3px 3px">E-Mail</div>
<input class="js-register_email" id="email" type="email" name="email" required="" value="">
</div>
<div class="topmargin">
<div class="ysb-pos-middle">
<button class="ysb js-register ysb-highlight" type="submit">Sign up for free »</button>
</div>
</div>
</div>
</div>
<div class="login_alternatives">
<div class="login_alternatives__or"><span>or</span></div>
<div>
<a href="https://accounts.google.com/o/oauth2/">Sign in with Google</a>
</div>
<a class="js-social_media_login_info small" href="#">Meaning</a>
</div>
</div>
</form>
</div>
</div>
<script type="text/javascript">document.forms[0].email.focus();</script>
</main>
</div>
</div>
</div>
在输入字段中键入电子邮件后,我希望bot单击 Sign up for free »
按钮。
该按钮的XPath是:
//*[@id="main"]/div/main/div/div/form/div/div[2]/div/div[2]/div/button
我已经尝试过其他方法。
通过常规点击功能:
driver.find_element_by_xpath('//*[@id="main"]/div/main/div/div/form/div/div[2]/div/div[2]/div/button').click()
通过“执行脚本”:
driver.execute_script("arguments[0].click();", driver.find_element_by_xpath('//*[@id="main"]/div/main/div/div/form/div/div[2]/div/div[2]/div/button'))
还尝试了以下线程的解决方法:Python Selenium Button Won't Click
(显然不是一次完成,但是它们都不起作用。)
此外,增加睡眠时间并没有带来任何有益的效果。
除了使用最后一种方法的超时时,我没有收到任何错误消息。脚本单击该按钮,但没有任何反应。 任何帮助深表感谢!预先感谢
答案 0 :(得分:0)
您尝试过吗:
find_element_by_tag_name("button").click()
如果这不起作用,则还有submit()
:
find_element_by_tag_name("button").submit()