我是网络抓取新手。我想刮掉以下网站。
这是一张全球地图,其中包含> 7000家供应商的列表。我想得到所有供应商的名字。放大特定区域时,您将看到红色图标。单击红色图标会弹出一个弹出窗口,其中包含供应商的名称。
我使用以下代码:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:/application-component-context.xml")
public class ServiceUnitTest {
@Autowired
MyService myService;
@BeforeClass
public static void init() throws Exception {
TestJNDIDB.create();
}
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
@Test
public void testProcessRegistration() throws Exception {
SomeObject object = myService.ProcessSomeObject;
}
}
//this is real class and works while application run
@Component
MyService(){
@Autowired
BCryptPasswordEncoder bCryptPasswordEncoder;
}
代码给出一个空列表作为输出。我需要的信息是div标签和leaflet-popup-pane类,但这些信息仅在单击图标后显示。
如果可以使用硒来完成,请告诉我如何操作。特别是,单击图标时会生成数据(供应商名称)。我知道如何使用selenium点击文本链接,但这里是一个图标,而不是文本。
答案 0 :(得分:0)
我认为这个json文件(http://s3-eu-west-1.amazonaws.com/3dhubs/s3fs-public/hubsformap.json)就是你想要的。我在网站的源代码中找到它。
var xhr = new XMLHttpRequest();
L.mapbox.accessToken = 'pk.eyJ1IjoiM2RodWJzbWFwcyIsImEiOiJBSzBFalRzIn0.j8icvSftfyZ4yxJmEgbrRw';
xhr.open('GET', encodeURI('//s3-eu-west-1.amazonaws.com/3dhubs/s3fs-public/hubsformap.json'));