我正在尝试使用Python和Selenium为我的本地图书馆网站(http://mcls.ent.sirsi.net/client/en_US/mclweb)创建一个自动登录系统。但是,我的脚本无法找到用户名框。
来自网站的用户名框的HTML如下所示
<input maxlength="30" class="user_name_input" id="j_username" name="j_username" type="text">
这是我用来找到它的代码
username = browser.find_element_by_id('j_username')
username.send_keys(u)
但是,我收到以下错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"j_username"}
我应该使用不同的功能吗?或者我使用find_element_by_id()错了吗?提前谢谢。
答案 0 :(得分:0)
你也可以在不使用iframe的情况下登录该网站
NumericVector test(const NumericVector& x) {
NumericVector y(x.size());
for (int i = 0; i < x.size(); i++) {
y[i] = x[i] * 2;
}
return std::move(y);
}
答案 1 :(得分:0)
登录表单位于框架上。你必须切换到框架。
browser.get("http://mcls.ent.sirsi.net/client/en_US/mclweb")
browser.find_element_by_class_name('loginLink').click()
time.sleep(5)
browser.switch_to.frame(1) //login iframe is the second frame in the page
time.sleep(5)
browser.find_element_by_id('j_username').send_keys(u)
替代方式,如果您不想切换到框架,
browser.get("http://mcls.ent.sirsi.net/client/en_US/mclweb/search/patronlogin")
browser.find_element_by_id('j_username').send_keys(u)