我正在使用Selenium和python抓取页面。对数据进行分页,表数据如下所示。
<td>
<a href="javascript:__doPostBack('ac$w$PC$PC$grid','Page$2')">2</a>
</td>
现在的挑战是让硒单击此链接并进入下一页。
有一个SO question尝试
解决问题,但不是在python中。
还有很多SO问题尝试使用execute_script
解决,但没有一个问题解决了
具有看似两个参数的javascript函数。
我如何获得硒来单击此链接并进入下一页?任何帮助或指针,高度赞赏。
参考方案
您需要使WebDriverWait失效,并可以使用以下解决方案:
WebDriverWait(driver, 10).until(EC.staleness_of(driver.find_element_by_xpath("//td/a[text()='2']")))
driver.find_element_by_xpath("//td/a[text()='2']").click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
您可以在How do I wait for a JavaScript __doPostBack call through Selenium and WebDriver中找到相关的讨论
在C#中模拟Javascript'doPostBack()' - c#我正在为我的公司编写网络浏览器。我们的客户为此目的而允许我们访问其网站,但是我们客户的IT团队无法与我们联系,因此我必须在没有来源帮助的情况下执行该程序。他们的网站在其所有按钮/下拉菜单上使用javascript将postData发送到服务器,以便屏幕更新以向最终用户显示正确的信息。我正在尝试让我的程序模拟点击“下一页”。 “下一页”按钮具有一个onclic…
如果我得到url(''),我该如何使用另一个URL - javascript我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…
对ID为'abc%'的dom执行操作 - javascript我想对ID为'abc%'的DOM进行一些操作<a id='abc1'></a> <a id='abc2'></a> <a id='abc3'></a> <a id='abc4'></a>…
Jsonp没有出现``访问控制允许来源''错误 - javascript在我的PHP中,我喜欢这样来回显jsonp类型的“ json数据”echo $_GET['callback'] . '('.json_encode($arr).')'; 在我的js(angularjs)中,$http.get('http://example.com/app/?callbac…
Javascript IF语句 - javascript嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]…