$a^2+b^2=(b+3)^2$, so $a^2=6b+9$, or $b=\frac{a^2-9}6$. This is a positive integer exactly when $a^2\equiv9\pmod6$, i.e.\ $a\equiv3\pmod6$; each such $a>3$ gives a valid triangle.
Need $b<300$: $a^2<1809$, so $a\le42$ (since $42^2=1764<1809<1849=43^2$).