最佳答案
我遇到了一个问题: 我正在使用 Selenium (Firefox)网页驱动程序打开一个网页,点击一些链接等,然后捕捉一个截图。
我的脚本在 CLI 中运行得很好,但是当通过 混蛋运行时,它没有通过第一个 find _ element ()测试。我需要添加一些调试,或者一些东西来帮助我找出失败的原因。
基本上,在进入登录页面之前,我必须点击一个“登录”锚。元素的结构是:
<a class="lnk" rel="nofollow" href="/login.jsp?destination=/secure/Dash.jspa">log in</a>
我使用的是 Find _ element By LINK _ TEXT 方法:
login = driver.find_element(By.LINK_TEXT, "log in").click()
A)如何检查该链接实际上是由 Python 拾取的? 我应该使用 try/catch 块吗?
B)是否有比 LINK _ TEXT 更好或更可靠的方法来定位 DOM元素?例如,在 JQuery中,您可以使用一个更具体的选择器 $(‘ a.lnk: include (log in)’)。做某事() ;
我已经解决了主要的问题,只是手指的问题。我用不正确的参数调用脚本-一个简单的错误。
我仍然需要一些关于如何检查元素是否存在的指导。另外,隐式/显式 Waits 的示例/解释,而不是使用蹩脚的 time.sleep ()调用。