在抓取websi时处理WebForm_DoPostBackWithOptions

2024-06-01 01:41:36 发布

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

我正在尝试使用selenium创建一个显示搜索结果列表的aspx网站;当脚本“单击”一个按钮时,将弹出一个警报-我尝试“单击”警报按钮以使用EC.alert_is_present继续下一个页面,但它引发了一个ValueError: No JSON object could be decoded错误。在

使用'inspect element查看按钮本身的代码显示:

<a onclick="WaitPlease('_ctl0_btnDownloadWordDocs');
if (ConfirmWordDocDownload()==false) return false;"

id="_ctl0_btnDownloadWordDocs" class="ButtonsMedium" href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("_ctl0:btnDownloadWordDocs", "", true, "", "",false, true)) onclicksaved="function onclick(event){ WaitPlease('_ctl0_btnDownloadWordDocs');

^{pr2}$

我想这和WebForm_DoPostBackWithOptions有关,但是google没有给我任何关于这种情况的参考。在

谢谢。在


Tags: 脚本falsetrue列表网站selenium警报按钮
1条回答
网友
1楼 · 发布于 2024-06-01 01:41:36

在您的情况下,扩展ArrayList没有任何意义。基本上,您可以将类命名为UserDAO。无需创建类级变量,您可以创建局部变量

public class UserDAO { // no need to extend and changed name to UserDAO

    public List<User> retainTopUsersItems(int maxNumOfReturnedResources, List<User> userList) {
        List<User> retainList = new ArrayList<User>();
        for (int i = 0; i < maxNumOfReturnedResources; i++) {
            retainList.add(userList.get(i));
        }
        return retainList;
    }

    public List<User> loadFromDatabase() {
        Connection userinfoCon = null;
        ResultSet userinfoRS = null;
        List<User> userlist = new ArrayList<>();

在jsp中,使用从方法检索的列表

<%
    // UserList users = new UserList();
    UserDAO inf= new UserDAO();
    List<User> userList = inf.loadFromDatabase(); // See the changes
    Recommender rc = new Recommender(userList); // Change constructor definition in your Recommender
%>

注意:不要使用您的异常,是否抛出它或记录它

相关问题 更多 >