硒找不到输入元素

时间:2019-05-10 16:51:42

标签: python selenium google-chrome

我正在尝试制作一个可以登录到某个网站的机器人,而硒却拒绝合作(我已经成功地将该机器人制作到了另一个网站,但是以某种方式失败了)。

我正在尝试找到该对象并向其发送密钥

<input type="text" class="form-textbox form-textbox-text" id="account_name_text_field" can-field="accountName" autocomplete="off" autocorrect="off" autocapitalize="off" aria-required="true" required="required" aria-describedby="apple_id_field_label" spellcheck="false" ($focus)="appleIdFocusHandler()" ($keyup)="appleIdKeyupHandler()" ($blur)="appleIdBlurHandler()" placeholder="Apple ID" autofocus="">

我已经尝试过:

username = driver.find_element_by_xpath("//input[type = 'text']")
username = driver.find_element_by_class_name("form-textbox-text")
username = driver.find_element_by_id("account_name_field")

硒一直在说没有元素。 我在上线之前要睡觉,以便站点有时间完全加载。 我仍然很确定这是某种新手问题,对此感到抱歉。只是找不到适合我的教程。

1 个答案:

答案 0 :(得分:0)

好的。因此,感谢@RKelley,我得到了我所需要的。问题是,我在错误的iframe中出现。为了解决这个问题,我在网站源代码中按ctrl + f搜索“ iframe”。我发现了:

<iframe src="https://idmsa.apple.com/appleauth/auth/signin?widgetKey=e0b80c3bf78523bfe80974d320935bfa30add02e1bff88ec2166c6bd5a706c42&amp;font=sf" width="100%" height="100%" id="aid-auth-widget-iFrame" scrolling="no" frameborder="0"></iframe>

我通过以下方式切换到它:

login_iframe = driver.find_element_by_id('aid-auth-widget-iFrame')
driver.switch_to.frame(login_iframe)

然后我通过ID找到了元素,并且一切正常。谢谢大家!