【问题标题】:Python Selenium Click on all li in ulPython Selenium 点击ul中的所有li
【发布时间】:2016-04-07 14:46:20
【问题描述】:

您好,我使用了以下代码,它运行良好。如何让它单击 ul 中的所有 li 项目,其中包含一个空的 ie class="" >Xpath 为

 Xpath is ('//*[@id="Main_data"]/div[1]ul/li[1]/a/span')

 html_list = driver.find_element_by_id("myId")
 items = html_list.find_elements_by_tag_name("li")
 for item in items:
 text = item.text
 print text

我在循环中尝试了item.click,但没有得到任何结果。

【问题讨论】:

    标签: html python-2.7 python-3.x selenium-webdriver iteration


    【解决方案1】:

    要定位具有空类的元素,请使用“by XPath”定位器:

    items = driver.find_elements_by_xpath("//ul[@id = 'myId']//li[not(@class)]")
    for item in items:
        item.click()
    

    【讨论】:

    • 非常感谢,因为它变得更有趣了。我使用 xpath 失败,因为我的 ul 有多个名称的类,而 python 拒绝了它。另一方面,我如何让它点击元素?
    • @BKCapri 添加了一个示例,说明如何遍历找到的元素并单击每个元素。我不确定您当前的行为,期望的输出是什么。我看不到问题中提供的被测页面的 HTML,或者没有指向它的链接。换句话说,很难为答案添加更多内容。
    • 对不起。嗯,一个 html 元素的 Xpath 的形式是 ('//*[@id="Main_data"]/div[1]ul/li[1]/a/span')。谢谢
    猜你喜欢
    • 2021-07-27
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    相关资源
    最近更新 更多