我正试图从火车搜索平台(https://www.thetrainline.com)
中删除数据(发车时间、承运商、价格等),但在提取属性名称时遇到了一个问题。所有连接的HTML如下所示,我想得到所有载体的列表,即我想从属性“data-test-carrier-neme
”中得到相应的载体,这里是“trenitalia
”
div class="_1moixrt _dtnn7w" tabindex="0"span data-test-carrier-name="trenitalia"
例如,我只是通过迭代收集属性的文本(参见语法) 现在对于运营商,我无法成功收集属性名称。我只得到第一次迭代/第一次连接的运营商名称,但没有得到下面的连接
dep_times = driver.find_elements_by_xpath('//div[@class="_1rxwtew "]')
dep_times_list = [x.text for x in dep_times]
#第一种方法:我得到属性名,但只针对第一个连接
carrier1 = driver.find_elements_by_xpath('(//div[@class="_1moixrt _dtnn7w"])[1]/span[1]')
carrier1_list = [x.get_attribute("data-test-carrier-name") for x in carrier1]
Output: ['trenitalia']
#第二种方法:我访问所有连接的属性,但不获取属性名称:
carrier1 = driver.find_elements_by_xpath('(//div[@class="_1moixrt _dtnn7w"])[1]/span[1]')
carrier1_list = [x.get_attribute("data-test-carrier-name") for x in carrier1]
Output: [None, None, None, None, None, None]
有人能调整我的代码来解决我的问题吗?非常感谢你的帮助
第一种方法中使用的xpath只返回一个元素,这就是为什么结果只显示第一个载体名称。试试这个-我刚从xpath中删除了索引[1]
相关问题 更多 >
编程相关推荐