我正在测试网站是否抛出了错误,而我自己也收到了一个错误,看看是否会发生这种情况。 到目前为止,我只是看到按钮是否可点击,所以如果按钮不可点击/未显示,则程序可以继续。但是如果有错误,我需要返回一个值。
try:
dismissBtn = WebDriverWait(driver, 2).until(EC.element_to_be_clickable((By.XPATH, "//input[@value='Dismiss this error']")))
print("Reg Error Button is clickable")
finally:
print("No error")
错误如下
dismissBtn = WebDriverWait(driver, 2).until(EC.element_to_be_clickable((By.XPATH, "//input[@value='Dismiss this error']")))
File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
HTML 代码如下
<div id="6823e3dd-d694-4a3e-99ae-6c074e3af73d" class="unite-error-panel errorPanel unite-component">
<span class="unite-h1-no-image">An error occurred.</span>
<ul>
<li>We are unable to connect to our servers right now. Please try again later.</li>
</ul>
<div id="8977e4fa-bb61-4a51-8b56-5e051b7f95d1" class="unite-error-code" style="display: none;"> {"code":"GENERIC","httpStatus":0}</div>
<div id="0b57d2f0-a8c4-4b7e-8095-ae09054cb053" class="unite-error-close">
<input type="button" value="Dismiss this error">
</div>
</div>
还有其他方法可以解决这个问题吗?
答案 0 :(得分:0)
元素的基于相关文本的 HTML 将帮助我们分析您使用的 Locator Strategy 是否唯一标识所需元素。假设元素是唯一标识的,因为它是一个错误消息:
也许将等待时间从 2 秒增加到 5 秒可以解决问题。