我正在尝试创建脚本以便自动输入订单。我正在为客户搜索结果而挣扎。我写了以下if声明:
# checks if there are any search results
if browser.find_element_by_css_selector("a[class='nclk']"):
# creates variable with all search results
searchCount = browser.find_elements_by_xpath("//a[@class='nclk']")
# counts search results
searchCountCheck = len(searchCount)
...
它查找"a[class='nclk']"
,因为如果有任何搜索结果,则该对象存在。问题是,如果没有,它会停止脚本并显示错误消息...unable to locate element...
-它不转到else语句,我不知道如何对它排序。在
我知道这可以通过try:
来完成,但问题是这两个语句中嵌套了许多语句,因此最终会成为一个巨大的混乱。在
我认为处理这个问题最好的方法是创建一个try语句来检查这样的对象是否存在,并且它创建变量(这个值取决于对象的存在),但是我不知道如何编写它以及如何将变量传递给下面的if else语句。在
编辑:
我忘记了
find_elements_by_xpath()
返回一个空的或非空的列表,但是这个解决方案对于各种find_element_by_*
函数是很好的。在您可以使用try-except-else语句。例如
只有在
try
部分没有抛出错误时,else
部分才被输入。在您可以使用这个:
在本例中,您不必添加
^{pr2}$try
,因为如果没有元素,列表的长度将为0,并且不会抛出任何错误。在你的情况下应该是这样的:您可以在发生异常后将searchCountCheck设置为0。在
相关问题 更多 >
编程相关推荐