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 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B