我在Firefox浏览器上使用Selenium WebDriver和Python 2.7.14。我想从这个网址http://a360ci.s3.amazonaws.com/Jmx/einat_world_bank.json获取来自.JSON文件的文本,并在此网址的主区域中实现所有数据: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选项卡,因为在Firefox上JSON没有很好地解析 *第二个网址打开后,程序卡住了,没有任何反应。可能是什么问题以及如何解决?谢谢。
答案 0 :(得分:0)
不清楚根本原因。建议您通过http客户端库获取json,而不是通过在浏览器中打开并从浏览器获取。否则,您的代码无法跨浏览器运行。不同的浏览器会显示不同DOM树的json内容。我认为没有' tab-1'在Chrome中打开时。另一个原因是firefox报告解析失败,但chrome没有这样的问题。
因为json内容太长。建议你不要使用send_keys(),你可以试试 driver.execute_script(' arguments [0] .value = arguments [1]',textbox,jsonstring)