Deprecating find_element_by_name

I am familiar with native apps and am just starting work on a hybrid app. I have an element and find_element_by_name() works great, but apparently find_element_by_name() is deprecated. find_element_by_accessibility_id() does not find it. Maybe this is a dumb quesetion, but will I have to use find_element_by_xpath() or is there an alternative? There is no other uniqueness to this element.

XPATH will work and is flexible. If the elements are uniquely named here are some usable options:

find_element_by_xpath('//UIATableCell[@name="Videos"]')

find_element_by_xpath('//UIATableCell[contains(@name,"Videos")]')

If you have a bunch of similarly named elements which causes the above options to potentially match against unwanted elements you can find the specific one you want using XPATH axis. Here’s an example that find the “Videos” cell that appears after the “Movies” group in the XML.

find_element_by_xpath('//UIATableGroup[@name="Movies"]/following-sibling::UIATableCell[@name="Videos"]')

I do not even see a method find_element_by_xpath all i see is find_element or plural version. am i missing something here? i am using 1.3.4 btw

Make sure you’re calling it from your webdriver.

webdriver.find_element_by_xpath

There should be dozens of different find_element options. If not I’d start by making sure you’ve setup your client bindings properly and have called webdriver correctly.

Thank you for confirming @Christopher_Graham

Where can I learn more about these client bindings?

http://appium.io/slate/en/v1.3.4/?ruby#