Python/Selenium - 通过xpath查找元素 - 元素存在,但未找到
我有一个网站,上面有以下几个项目:
<input type="text" style="width:230px;" name="email"></input>
还有
<input type="password" style="width:230px;" name="password"></input>
我用以下的Python代码来设置值(用户名和密码在代码的早些地方已经设置好了):
Helper.getElementByxPath(mydriver,'//*[@name="email"]',username);
Helper.getElementByxPath(mydriver,'//*[@type="password"]',password);
而Helper.getElementByxPath的定义是:
def getElementByxPath(mydriver,xPath,valueString):
try:
a = mydriver.find_element_by_xpath(xPath);
a.send_keys(valueString);
return 1;
except:
return 0;
我遇到了以下错误:
Unexpected error: <class 'selenium.common.exceptions.NoSuchElementException'>
Unexpected error: <class 'selenium.common.exceptions.NoSuchElementException'>
我可能哪里做错了呢?我真是头疼。
我真是个傻瓜,我想要的表单嵌套在一个框架里。在一个框架里。
1 个回答
1
如果你的元素在一个 frame
中,你可以使用下面的代码:
driver.switch_to_frame(IDENTIFIER)
IDENTIFIER 可以是:
- 框架名称
- 框架的网页元素
- 框架的索引
你可以在这里查看API的详细信息: http://selenium-python.readthedocs.org/en/latest/api.html
完成在框架中的操作后,你可以按下面的方式返回到文档的顶部:
driver.switch_to_default_content()