python selenium循环判断元素是否存在_使用Python Selenium检查元素是否存在

我有一个问题-我正在使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值