我有一个问题-我正在使用selenium(firefox)web驱动程序打开一个网页,单击一些链接等,然后捕获一个屏幕截图。
我的脚本在CLI中运行良好,但是当通过cronjob运行时,它不会通过第一个find_element()测试。我需要添加一些调试,或者一些东西来帮助我找出它失败的原因。
基本上,在进入登录页面之前,我必须点击一个“登录”锚。元素的结构是:log in
我正在使用find_element By LINK_TEXT方法:login = driver.find_element(By.LINK_TEXT, "log in").click()
我是一个有点像Python的人,所以我有点和语言斗争。。。
A)如何检查链接是否被python实际获取?我应该使用try/catch块吗?
B)是否有比链接文本更好/更可靠的方法来定位DOM元素?E、 g.在JQuery中,可以使用更具体的选择器$('a.lnk:contains(log In)')。do_something()
我已经解决了主要问题,这只是手指的问题-我调用的脚本参数不正确-简单的错误。
我还是想知道如何检查元素是否存在。另外,一个隐式/显式等待的例子/解释,而不是使用一个糟糕的time.sleep()调用。
干杯,ns