Python selenium无法找到用户名元素

时间:2018-05-28 23:16:30

标签: python selenium

我正在尝试使用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()错了吗?提前谢谢。

2 个答案:

答案 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)