qq_34898345 2022-01-21 15:31 采纳率: 100%
浏览 51
已结题

ul列表下的li列表项无法定位

想要定位出下拉框内的 “揽收时间”,代码如下:

    time_type_expand = ('xpath', '//*[@id="app"]/div/div/div[2]/section/div/div[1]/div[1]/div[1]/form/div[4]/div/div[1]/div/span/span/i')
    # 也尝试使用过 time_type_choose = ('xpath', 'li[2]')
    time_type_choose = ('xpath', 'li[contains(text(),"揽收时间")]')
    def searchBillRoute_with_time(self):
        com = self.driver.find_element(*self.time_type_expand)
        sleep(2)
        com.find_element(*self.time_type_choose).click()

img

img

我的想法是 :先定位出ul,然后再定位下面的li元素 ,但是通过xpath、css等方式 都无法定位 ,也没有其他的唯一属性

求指教 如何定位出 “揽收时间 ”

  • 写回答

3条回答 默认 最新

  • CSDN专家-HGJ 2022-01-21 15:53
    关注

    time_type_choose = ('xpath', 'li[contains(text(),"揽收时间")]')这句试试写成:
    time_type_choose = ('xpath', '//li/span[contains(text(),"揽收时间")]')或:'//li[@class="z-select-dropdown_item"]/span[contains(text(),"揽收时间")]

    s='''<div class="z-select">
    <li class="z-select-dropdown_selected">
    <span>"创建时间"</span>
    </li>
    <li class="z-select-dropdown_item">
    <span>揽收时间</span>
    </li>
    </div>
    '''
    from lxml import etree
    html=etree.fromstring(s)
    p = html.xpath(
        '//li/span[contains(text(),"揽收时间")]')
    print(p,p[0].text)
    

    运行结果:

    [<Element span at 0x20c05b63748>] 揽
    收时间
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月29日
  • 已采纳回答 1月21日
  • 创建了问题 1月21日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大