For a):
from selenium.common.exceptions import NoSuchElementException
def check_exists_by_xpath(xpath):
try:
webdriver.find_element_by_xpath(xpath)
except NoSuchElementException:
return False
return True
For b): Moreover, you can take the XPath expression as a standard throughout all your scripts and create functions as above mentions for universal use.
I recommend to use CSS selectors. I recommend not to mix/use “by id”, “by name”, etc. and use one single approach instead.