Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error selecting frame by name #18

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

tom-knight
Copy link

I'm testing a webapp (most of which I can't change) which uses frame which have name attributes but no id attribute.

If I try to select the frame by name using this code:

$this->driver->select_frame("content");

it will produce the following error:

Unsuccessful WebDriver command: 7 - NoSuchElement - An element could not be located on the page using the given search parameters.
Command: POST - http://localhost:4444/wd/hub/session/1329229716776/element - {"using":"id","value":"content"}
Message: Unable to locate element: {"method":"id","selector":"content"}
Command duration or timeout: 5.06 seconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.18.0', revision: '15704', time: '2012-01-27 15:48:16'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.31-gentoo-r10', java.version: '1.6.0_24'
Driver info: driver.version: EventFiringWebDriver
Failed asserting that  matches expected .

This is due to select_frame calling get_element first if an identifier is passed.

To get round this problem I modified select_frame so that it would work if the identifier was passed as "name=content".

@willonabike
Copy link

select_frame should allow any element selector (css, dom, name, etc) and does not.

I tried to inject an ID as workaround, but could not get the jquery-dependent javascript to run - worked fine in Selenium IDE.

 $this->driver->execute_js_sync("window.$(\"#pp_full_res iframe\").attr(\"id\",\"pp_popup\")");
   $this->driver->select_frame("pp_popup");

We will require engineering to add IDs to every iframe until this is resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants