我在火狐浏览器上使用Selenium WebDriver和Python2.7.14。我正在尝试从位于以下url:http://a360ci.s3.amazonaws.com/Jmx/einat_world_bank.json的.JSON文件中获取文本,并在此url:http://jsonviewer.stack.hu/的主要区域中实现所有数据这是我的代码:
driver = self.driver
driver.get('http://a360ci.s3.amazonaws.com/Jmx/einat_world_bank.json')
RawData = driver.find_element_by_id("tab-1")
RawData.click()
self.driver.implicitly_wait(2)
content = driver.find_element_by_class_name("data").text
driver.get('http://jsonviewer.stack.hu/')
MainField = driver.find_element_by_id("edit")
MainField.send_keys(content)*我移动到RawData选项卡,因为在火狐上JSON不能很好地解析*在第二个url打开后,程序卡住了,什么也没有发生。问题可能是什么?如何解决?谢谢。
发布于 2017-11-22 12:36:13
不清楚根本原因。建议您通过http客户端库来获取json,而不是在浏览器中打开并从浏览器获取。否则你的代码就不能跨浏览器运行。不同的浏览器将以不同的DOM树显示json内容。我认为在Chrome中打开时没有“tab-1”。另一个原因是firefox报告解析失败,但chrome没有这个问题。
因为json内容太长。建议你不要使用textbox(),你可以试试driver.execute_script('arguments.value=arguments1',textbox,send_keys)
https://stackoverflow.com/questions/47424400
复制相似问题