为什么find_elements_by_tag_name(" span")在gmail收件箱内不起作用,但在登录页面中有效

时间:2018-04-23 06:33:20

标签: selenium selenium-webdriver ui-automation

我使用下面的代码在网页中找到所有带有span标记的元素:

def find_element(arg_drv, arg_tag_name = "span", arg_text = "test"):

    print("INFO: Tag name to find: '" + arg_tag_name + "'")

    print("INFO: Text of tag to find: '" + arg_text + "'")

    all_children_by_tag = arg_drv.find_elements_by_tag_name(arg_tag_name)

    print("INFO: Number of elements with tag ' " + arg_tag_name + "': "+ str(len(all_children_by_tag)))

    for child_ele in all_children_by_tag:
        print("INFO: Element text : " + child_ele.text)     
        if child_ele.text ==  arg_text:
            self.lg.log_msg("INFO: Element with text : " + child_ele.text + " found")
            return True
    return False

此操作失败,我得到chrome停止工作错误消息

当我在登录页面使用并返回所有相关标签时,

find_element(drv," span","忘记电子邮件?")功能正常工作。以下是标签

23/04/2018-01:43:57信息:标记要查找的名称:' span'

23/04/2018-01:43:57信息:要查找的代码的文字名称:'忘记了电子邮件?'

23/04/2018-01:43:57 INFO:带标签的元素数量' span':11

23/04/2018-01:43:57信息:链接文字:

23/04/2018-01:43:57信息:链接文字:

23/04/2018-01:43:57信息:链接文字:

23/04/2018-01:43:57信息:链接文字:

23/04/2018-01:43:57信息:链接文字:

23/04/2018-01:43:57信息:链接文字:

23/04/2018-01:43:57信息:链接文字:

23/04/2018-01:43:57信息:与文字链接:忘记电子邮件?

23/04/2018-01:43:57信息:与文字链接:忘记了电子邮件?结果

问题

登录gmail后,find_element(drv," span"," test")失败。功能调用永远不会完成,或者有一个" Chrome驱动程序停止工作"错误消息

1 个答案:

答案 0 :(得分:0)

我更新到ChromeDriver 2.38后问题已解决:)

至于为什么UI操作在登录页面中起作用以及chromedriver在登录后停止工作仍然令我感到困惑