Согласно моим Правкам, это то, что я нашел решением.
if isinstance(salesForceLink, object) == True:
print("sales Force link found")
else:
print("sales force link not found")
Редактировать: Согласно первому комментарию, приведенному ниже, я обнаружил, что хотя утверждение соответствует истине, на самом деле я просто выполняю двойную работу. мое рабочее решение состоит из двух строк с использованием пользовательских функций. второй проверяет текст после перехода по ссылке.
findLink(sel, "div.row:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3) > a:nth-child(1)", "sales force link")
verifyText(sel, ".freebirdFormviewerViewHeaderTitle" , "Salesforce Feedback")
Пользовательские функции для всех заинтересованных лиц следующие:
def findLink(browser, css, label="", type="link:", x=1):
if x == 0:
if findCss(browser, css, type="link:"):
link = findCss(browser, css)
label = element.text
type = element.get_attribute('type')
printDebug(type + ": \"" + label + "\" found")
return link
else:
G.errors += 1
G.log[G.errors] = G.page + "ERROR" + label + " not found"
#print("ERROR" + label + " not found")
elif x == 1:
if findCss(browser, css):
element = findCss(browser, css)
label = element.text
type = element.get_attribute('type')
element.click()
printDebug(type + ": \"" + label + "\" found")
else:
G.errors += 1
G.log[G.errors] = G.page + "ERROR" + label + " not found"
else:
printDebug("Last flag must be 0 or 1, 0 is default")
и
def verifyText(browser, css, textToCheck=""):
if findCss(browser, css):
element = findCss(browser, css)
elementText = element.text
else:
G.errors += 1
G.log[G.errors] = G.page + "ERROR text: Could not find element"
if textToCheck == "" and elementText != textToCheck:
printDebug('text: "' + elementText + '" element Not Empty ' )
return str(elementText)
elif textToCheck == "" and elementText == textToCheck:
printDebug("text: Element Empty")
elif elementText == textToCheck:
printDebug('text: "' + elementText + '" found')
return str(elementText)
elif elementText != textToCheck:
G.errors += 1
G.log[G.errors] = G.page + ' ERROR text: "' + textToCheck + '" does not match "' + elementText + '"'
else:
G.errors += 1
G.log[G.errors] = G.page + "ERROR text: Unexpected Text Search Error"
Функция отладки печати просто принимает значение bool и печатает значение true или false.
Все переменные, которые выглядят как G.error или G.debug, являются глобальными переменными-посредниками, которые хранятся в пустом классе для использования во многих тестах, которые у меня есть.
Надеюсь, это поможет.