为什么selenium webdriver找不到我的元素

时间:2013-05-21 17:18:58

标签: python selenium webdriver

https://www.mykplan.com/participantsecure_net/TermsAndConditions.aspx 我正在通过id / xpath / name查找它们并且它们都因接受按钮而失败。这是我最近的努力

driver.find_element_by_xpath('//*[@id="Accept"]').click()

直接从Chrome网络工具

复制

1 个答案:

答案 0 :(得分:2)

按钮位于框架内。鉴于xpath仅在帧内是正确的。我在chrome控制台中测试了xpaths,这就是我得到的:

如果是主页面(https://www.mykplan.com/participantsecure_net/TermsAndConditions.aspx),则无法找到xpath:

$x('//*[@id="Accept"]');
[]

如果只有帧内容(https://www.mykplan.com/participantsecure_net/TermsAndConditionsBottom.aspx),则可以找到xpath:

$x('//*[@id="Accept"]');
[<input type=​"submit" name=​"Accept" value=​"I agree" id=​"Accept">​]

在selenium中,我猜你需要在寻找xpath之前切换到一个帧。我认为网络驱动程序功能

driver.switch_to_frame("frameName") 

应该有所帮助。在您的情况下,带按钮的框架称为“bottomFrame”。