这可能已经被其他内容覆盖了,但是我找不到与我的场景相匹配的内容…我对selenium webdriver和Python非常陌生,所以请原谅我代码中的任何“最佳实践”问题。你知道吗
我试图找到一个解决方案,计算web窗体上字段错误的实例,如果它大于或等于1,那么结果应该是失败。如果为零,则表示通过。此外,我想打印到控制台哪些领域的错误正在提出。你知道吗
为了便于维护,我使用存储在字典中的xpath,然后从标签返回字符串(这也是我的xpath标识符)。你知道吗
此外,错误消息只是动态显示的,因此需要处理异常“NoSuchElementException”
我知道我想实现什么,但似乎不能得到正确的语法,所以每次结果是'通过'-我相信这是因为我的一个或多个XPath返回异常。你知道吗
下面是我要进行计数并返回结果的代码块片段:
for key in formErrors:
try:
error = driver.find_element_by_xpath(formErrors[key]).text
print(error)
if error:
error = "Fail"
except exceptions.NoSuchElementException:
error = "Pass"
以下是我字典的一个片段:
formErrors = {"error1": "//label[contains(text(),'Only letters or punctuation should be entered')]",
"error2": "//label[contains(text(),'Only letters, numbers, spaces or dashes should be entered')]",
"error3": "//label[contains(text(),'Only numbers and at least four digits should be entered')]",
"error4": "//label[contains(text(),'Only letters should be entered')]"}
此外,“for key In formErrors”位于for循环中,该循环将csv的输入发送到字段中…并在每次csv有值时提交表单…我认为回答我的问题不需要这样做,但我认为最好是提供洞察力。你知道吗
好的-我花了更多的时间找到了一个对我有效的解决方案:
对于错误字典中的每个键,提交表单并循环检查是否存在错误
如果有一个或多个错误,则返回“Fail”;如果没有错误,则返回“Pass”
errorCount是在整个表单循环之外定义的,在每个表单循环完成后,我还会重置errorCount。你知道吗
exception子句就在那里,这样我的脚本就不会在错误字典中找不到错误时进行故障转移。你知道吗
相关问题 更多 >
编程相关推荐